android hprof分析
HPROF文件可以分析以下两种类型的问题:
- 所有已经被销毁,但是不能回收的Activity的实例
- 重复定义的字符串
具体的操作
在AS里进行操作,AS大于3.0的
采集信息之后,需要将采集的hprof文件先保存起来
之后再导入到AS里,这时就能进行Analyzer Tasks,这个时候哪里有内存泄漏就比较清楚了:
从这里就能看出在TestActivity里存在了泄漏。
字段意义的解释
- Class name:类名
- Total Count:该对象总的被实例话的个数
- Heap Count:堆中该对象被实例话的个数
- Sizeof:单个实例所占空间大小
- Shallow Size: 堆里所有实例大小总和(Heap Count * Sizeof)
- Retained Size:该类所有实例所支配的内存大小
- Depth:GC根节点到所选实例的最短路径的深度
- Shallow Size:所选实例的大小
- Dominating Size: 所选实例所支配的内存大小