设备分级
可以观察到,低内存机器崩溃率较高。特别是东南亚,非洲市场,低端手机占比大。
针对低端机:
- 减少,关闭复杂的动画。
- 使用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?
网友评论