android imageview回收,Android OOM ,回收布局文件中ImageView占用的内存.Bitmap OOM回收解决....

缓存管理在这里

http://blog.csdn.net/intbird/article/details/38338713

图片处理在这里

http://blog.csdn.net/intbird/article/details/38338811

界面回收图片在这里

http://blog.csdn.net/intbird/article/details/19905549

工具Jar包在这里说明:

http://pan.baidu.com/s/1dDtOZbr

Android打开一张图片关闭,打开,再关闭,重复,

OOM了,GC也没用,发现是界面的图片资源没用释放掉;

如果缓存使用不当的话,就必须对界面中的图片进行回收.

1. 可以使用 SoftReference软引用

2. Android的OOM除了本身图片过大会OOM,

需要进行bitmap.option或者thumb压缩以外(ps:google的压缩方法对图片高宽反着的图片是会崩溃的),

其实对于图片过多仅仅听过option单独处理每一张图片也是不够的,

需要从总体上分析所有的图片占用的内存情况再去计算加载单个图片;

3.GirdView和ListView可以自动回收子View

但是如果自己动态加载图片的布局不合理,比如使用的是网络图片

那么有异步回调未停止或者清除(Glide.pause())导致强引用,内存无法回收,

android就更不会回收Bitmap了呀;

4.如果实在无法回收,没办法了,就自己手动搜集回收吧

立即释放界面中ImageView中图片的.

在父Activity上使用MaprecycleViews;

在合适的地方,比如返回的时候,调用 RecycleBitmap.recycle(recycleViews);

这样也能保证解决问题

5.现在的开源图片库优秀的太多了,也不用过于关心图片缓存问题了

这个之前的代码就删掉了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值