ListView 显示ImageView的问题,怎么释放bitmap,在哪里释放?
我之前的做法是用SoftReference,用的好好的,然后昨天不知道怎么搞得,出现了下OOM然后老大看到了,我郁闷,不是说系统内存不够的时候会自己释放bitmap吗?怎么昨天还出现了OOM,
我的问题是,用SoftReference需要释放bitmap吗?如果需要在什么地方释放,Adpater里面还是什么地方?
谢谢各位帮我解答!
我之前的做法是用SoftReference,用的好好的,然后昨天不知道怎么搞得,出现了下OOM然后老大看到了,我郁闷,不是说系统内存不够的时候会自己释放bitmap吗?怎么昨天还出现了OOM,
我的问题是,用SoftReference需要释放bitmap吗?如果需要在什么地方释放,Adpater里面还是什么地方?
谢谢各位帮我解答!
解决方案 »
- 请教:安卓手机如何与单片机通信?
- 求助关于发邮件authenticatorException
- 如何在一个activity中重启它自己
- 开发android程序用一个activity还是多个activity?
- Android崩溃检测?
- 自定义Dialog中用SharedPreferences的问题
- android中动态添加控件的问题,请教大家!!!!
- 搭建收集数据平台后,如何收集手机数据信息
- Andriod Sqllite 带条件查询怎么查不到数据,又没有报错呢
- 自定义toast怎么全屏显示
- flex中sqlite查询
- unstablecount < 0 :-1,关于contentprovider
你可以网上去搜一搜相关的文章和算法。
android本身也提供了LRU Cache。
我们的图像存取放在缓存的LRU内。维护两个LRU,一个强引用,一个软引用。
强引用淘汰下来的bitmap放到软引用内。
LRU本身是基于LinkedHashMap,所以性能上还不错。
这样解决了图片的显示速度问题,也解决了OOM问题。