android——OOM异常和解决

OOM 异常出现的根本原因是 –运行时内存不足,一般情况是:UI中加载有大图或者大对象,然后,对大图没有进行压缩处理、也没有采用一些优化内存的机制来处理,在UI关闭销毁时没有进行回收,无用对象没有进行手动置空,这样的话底层jvm是不会自动GC的,所以,会造成UI运行时程序出现OOM问题。
一般解决思路:
多媒体对象进行压缩存储,一般图片对象是根据图片大小来做相应的压缩处理,加载时可以采用第三方加载框架来处理:
方法1: ImageLoader 来加载(强大的开源框架) +图片压缩
方法2: 结合LruCache和DisLruCache来处理图片,因为手机的一般运行内存是32MB,所以,我们一般是将运行内存的1/8大小来加载图片,利用LruCache来装在图片,内部实现的是LRU算法,所以可以实现有效的加载,防止内存溢出,大多数情况下,我们是网络加载,所以需要本地缓存,这时可以利用DisLruCache来加载,原理是一样,只是会在本地有缓存.
方法3:faceBook最新的fresco开源项目来处理图片OOM问题…
后续….

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值