Android 内存优化

Android内存泄露容易导致内存溢出,又称为OOM。

内存泄漏怎么产生的

  1. 资源对象没关闭造成的内存泄漏
  2. 构造Adapter时,没有使用缓存的convertView
  3. Bitmap对象不在使用时调用recycle()释放内存
  4. 试着使用关于application的context来替代和activity相关的context
  5. 注册没取消造成的内存泄漏
  6. 集合中对象没清理造成的内存泄漏

怎么查找内存泄漏

  1. 使用Android Studio 自带的Android Profiler工具
  2. 使用Square产品的LeadCanary.

Android内存优化策略

  1. 在循环内尽量不要使用局部变量
  2. 不用的对象即时释放,即指向NULL
  3. 数据库的cursor即时关闭。
  4. 构造adapter时使用缓存convertView
  5. 调用registerReceiver()后在对应的生命周期方法中调用unregisterReceiver()
  6. 即时关闭InputStream/OutputStream。
  7. android系统给图片分配的内存只有8M, 图片尽量使用软引用, 较大图片可通过BitmapFactory缩放后再使用,并及时recycle
  8. 尽量避免static成员变量引用资源耗费过多的实例。
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,530评论 25 709
  • 本文转载来源 http://www.csdn.net/article/2015-09-18/2825737/1 (...
    yoosir阅读 1,152评论 0 5
  • 如何避免OOM 一、减小对象的内存占用 1、使用更加轻量的数据结构 例如,我们可以考虑使用ArrayMap/Spa...
    吕侯爷阅读 750评论 0 5
  • 曾经的我自信满满,有了一点小成绩就感觉非常了不起,用井底之蛙来形容自己,一点也不为过。可当有人拉了我一把,跳...
    随缘888阅读 424评论 0 0