- 优先关注内存泄漏,关注自动化测试和LeakCanary报告的泄漏问题 解决:弱引用、资源及时回收等常规解决方案
- 关注各种OOM崩溃 解决:OOM是压死骆驼的最后一根稻草,OOM堆栈不一定就是崩溃原因,这一点需要注意
- 关注大图加载 解决:优化Glide加载策略,按照屏幕大小加载Bitmap,根据不同机器的RAM大小动态选择解码方案等
- 关注线程问题 解决:不能单独使用线程,尽量统一全局线程池,用到RxJava或者协程的时候需要及时销毁资源等
- 关注内存抖动问题 解决:onDraw里面/循环里面大量创建对象,考虑单例或者享元设计模式、优化代码逻辑等
- 其他:根据不同机器的RAM大小动态区分不同的功能或者业务逻辑,比如高端机器上面可以多用内存(注意内存占用不是越少越好,高端机器内存足够多用一点可以提高用户体验),低端机器上面就尽量节省一点啦