避免OOM

生命周期比Activity长的类不要强引用Activity。
1、内部类使用static,因为非静态内部类会持有对外部类的引用。
2、Application、单例、static 不要持有对Activity的引用。因为静态类的生命周期比Activity长。
3、注意Handler会默认持有当前Activity,用的时候最好不要直接new Handler().post(new Runnable...),除非你确定这个runnable会在Activity销毁前执行完
4、及时释放不使用的资源。 如:Bitmap,动态回收内存,方法:bitmap.recycle()。
5、对适配器视图进行优化处理,避免过多加载数据和对象的生成。
6、在展示高分辨率图片时,先将图片进行压缩到与空间大小相近。

android:largeHeap="true"
heapsize会增大2-3倍,可缓解OOM的发生。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android内存优化是性能优化很重要的一部分,而如何避免OOM又是内存优化的核心。 Android内存管理机制 ...
    lwwlsky阅读 20,068评论 4 46
  • 转载: 原文地址:http://www.csdn.net/article/2015-09-18/2825737/3...
    666swb阅读 1,483评论 0 10
  • 前面介绍了一些基础的内存管理机制以及OOM的基础知识,那么在实践操作当中,有哪些指导性的规则可以参考呢?归纳下来,...
    Volent_7cf3阅读 335评论 0 2
  • 别人的总结不一定适合自己,所以尽量多做一些自己的总结,针对自己的薄弱点重点说明,适当的借鉴别人,少走一些弯路。最重...
    renkuo阅读 7,508评论 2 48
  • 内存管理的目的就是让我们在开发中怎么有效的避免我们的应用出现内存泄漏的问题。内存泄漏大家都不陌生了,简单粗俗的讲,...
    宇宙只有巴掌大阅读 2,429评论 0 12