- Android Monitor能够验证你怀疑的Activity是否泄漏了
一、 生成.hprof文件
Android Monitor是AndroidStudio自带工具,可以查看内存、网络、CPU使用情况,选定程序可以分析应用的资源使用,内存看CPU
在Memory窗口显示时,先点击几次GC(垃圾回收),内存稳定后,点击生成内存.hprof文件
二 分析
在打开.hprof文件的视图窗口中,选择appheap、Arrange by Package,找到自己的包,以及对应的类
下方视图:
- Total Count 类对应对象的个数
- Heap Count 堆内存中个数
- Size of 物理大小
- Shallow Size 对象本身占多大内存
- Retained Size 释放后节省多少内存
右侧视图:
Instance: - Depth:深度
- Shallow Size 对象实例大小
- Dominating Size 对象管辖的内存大小
**注意:**工具本身不能解决内存泄露问题,而是帮助我们找到泄露的问题所在
三 查找步骤:
- 查找引用了该对象的外部对象有那些
- 然后一个一个去观察,查找可能内存泄露的地方,(看生命周期是否一致/读代码,可以通过快照对比)如果生命周期一致,则无泄露