当前占用内存加上申请的内存资源超过了虚拟机的最大内存限制,就会抛出Out Of Memory
二、一些容易混淆的概念内存溢出(oom) / 内存抖动 / 内存泄漏
内存抖动是指在短时间内有大量的对象被创建或者被回收的现象。
内存泄漏是指某一段内存在程序里功能上已经不需要了,但是垃圾回收机制回收内存时检测那段内存还是被需要的,不能被回收,这种在程序中在没有使用的但是又不能被回收的内存就是被泄漏的内存
三、解决oom一般情况下,造成oom的原因:
加载对象过大和相应资源过多,来不及释放。
1、bitmap(一般都是加载过大的图片)
<1> 图片显示----在滑动的过程中(ListVIEw)不加载图片,滑动停止时再加载 <2> 及时释放内存---调用bitmap的recycle方法 <3> 图片压缩----对大图片进行图片压缩,使用bitmap的insimpleSize <4> inBitmap高级属性 <5> 捕获异常
2、其他方法
ListvIEw:复用机制 避免在onDraw方法里执行对象的创建 谨慎使用多进程
总结 以上是内存溢出为你收集整理的Android异常与性能优化之oom异常全部内容,希望文章能够帮你解决Android异常与性能优化之oom异常所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)