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 内存优化)