Android内存优化切入点

设备分级

可以观察到,低内存机器崩溃率较高。特别是东南亚,非洲市场,低端手机占比大。

设备划分:https://github.com/facebook/device-year-class

针对低端机:

  • 减少,关闭复杂的动画。
  • 使用RGB_565图片格式,比ARGB_8888减少一半内存。
  • 设定较小的缓存。
  • 较少安装包大小。代码和资源的载入都占一定的内存。例子:QQ轻聊版,今日头条极速版等……

容易忽略的地方

  • 缓存管理。进行统一的缓存管理;OnTrimMemory回调时及时释放。
  • 进程,线程数量。减少无必要的进程;避免不合理地使用大量线程。

Bitmap

图片无可避免占比大。

  • 使用统一图片加载。可以使用成熟的开源库:Glide,Fresco等。
  • 低端机使用RGB_565;使用更严格的缩放标准。
  • 监控重复图片。可以借助Matrix去监控。

内存泄露

  • Javan内存泄露。可以借助LeakCandy发现问题;借助Matrix的Resource Candy去监控。
  • Native内存泄露。比较复杂,参考:https://mp.weixin.qq.com/s/KtGfi5th-4YHOZsEmTOsjg?

你可能感兴趣的:(Android内存优化切入点)