内存优化建议

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