绝大多说的oom问题,都是由于泄漏引起的
- 在项目开发的早期,安装leakCananry 。
- 平时开发的时候,开起来,在日常点击中就看到leakcanary的泄漏日志。
- 分析泄漏日志,解决泄漏。
注:极少数的Android代码,无法实现零泄漏。比如牵涉到源码级别的:
作者在使用GitHub某些视频播放类开源项目的时候,发现:AudioManager持有Activity的引用问题。
此问题是Android源码的一种泄漏,无法解决。
https://stackoverflow.com/questions/6445052/android-context-memory-leak-listview-due-to-audiomanager
补充:
参考某些泄漏的源代码,写出来的泄漏demo,在手机真机实测的时候,不一定会被LeakCanary所捕获。
Android内存泄漏解决(总)
网友评论