0. 文章参考
https://blog.****.net/rechanel/article/details/76578070
1. HPROF 文件 作用
HPROF查看工具会列出类、类的实例和实例的引用树,以此来帮助你跟踪内存的使用情况,找出内存泄漏的地方。
2. dump Hprof file
Android Studio 到导出 HPROF 文件步骤很简单,Moniter界面中点击 Dump Java Heap 即可
3. HPROF文件查看工具的信息显示
名称 | 描述 |
---|---|
Class Name | 类名 |
Total Count | 该类的实例总数 |
Heap Count | 所选择的堆中该类的实例数量 |
Sizeof | 单个实例所占空间大小(如果美国实例所占空间大小不一样,则显示0) |
Shallow Size | 堆里所有实例大小总和(Heap Count * Sizeof) |
Retained Size | 该类所有实例所支配的内存大小 |
Instance | 具体实例 |
Reference Tree | 所选实例的引用,以及指向该引用的引用 |
Depth | GC 根节点到所选实例的最短路径的深度 |
Shallow Size | 所选实例的大小 |
Dominating Size | 所选实例所支配的内存大小 |
4. HPROF文件操作实例
4.1 打开 Capture 视图,选择 HPROF 文件
4.2 查看 堆信息
- App heap 当前 app 使用的堆
- Image heap 当前 app 在硬盘上的内存映射
- Zygot heap -zygot 复制时继承的库、运行时类和常量的数据库。zygote 空间设备启动时创建,从不分配这里的空间
4.2 查看视图类型
- Class List View
- Package Three View
5. HPROF文件分析工具中分析数据(重要)
用HPROF分析工具可以检测到泄漏的activities、分析出重复定义的字串。步骤如下