造成OOM的原因
—–P103
- 在Android中,一个Process 只能使用16M内存,如果超过了这个限制就会跳出这个异常;
- 内存不够用或者耗尽了
- Android Out Of Memory(OOM) 的详细研究
- 主要原因
图片过大 图片过多 页面过多 内存泄漏
解决的终极原则:让更少的Bitmap驻留在内存
-
二级缓存:
-
图片做软、弱引用
-
加载缩小的图片
-
动态释放内存
- 内存管理尽量交由系统自动管理
- trying to use a recycled bitmap错误
- Android系统中Bitmap是否有调用recycle方法的必要性
-
裁剪背景图、弱引用背景图
-
释放页面的内容
-
设置堆内存的相关参数 关于Android堆内存的设置
-
避免内存泄漏
- Android内存泄漏的各种原因详解
- 长期持有了一个Context的引用
- 如何避免Android内存泄漏——Context
- 垃圾回收器不能处理内存泄漏
- 使用内存分析工具:MAT