原因:
造成内存泄漏的网上很多,单例,handler ,内部类持有外部类的对象,广播注册未反注册,静态变量
资源未释放等
工具
- MAT 插件 :可以直观的观察内存变化情况
- dumpsys meminfo -packagename :观察视图是否存在泄漏
- 继承leakcanary :定位具体代码位置
- Android Studio 的Profile工具
确认内存是否存在泄漏
- 多次打开关闭应用 使用dumpsys meminfo 观察该应用内存情况,是否每次打开关闭后内存只增加不减少
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200319085229829.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl8zODE0ODY4MA==,size_16,color_FFFFFF,t_70)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200319085315387.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl8zODE0ODY4MA==,size_16,color_FFFFFF,t_70)
- 如果每次打开内存只增不减,说明存在内存泄漏
- dumpsys meminfo