内存泄露-Android Studio 生成Dump 的 HPROF 文件查看和分析工具

0. 文章参考

https://blog.csdn.net/rechanel/article/details/76578070

1. HPROF 文件 作用

HPROF查看工具会列出类、类的实例和实例的引用树,以此来帮助你跟踪内存的使用情况,找出内存泄漏的地方。

2. dump Hprof file

Android Studio 到导出 HPROF 文件步骤很简单,Moniter界面中点击 Dump Java Heap 即可

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 文件

Capture

4.2 查看 堆信息

  1. App heap 当前 app 使用的堆
  2. Image heap 当前 app 在硬盘上的内存映射
  3. Zygot heap -zygot 复制时继承的库、运行时类和常量的数据库。zygote 空间设备启动时创建,从不分配这里的空间

App heap

4.2 查看视图类型

  1. Class List View
  2. Package Three View

查看视图类型

5. HPROF文件分析工具中分析数据(重要)

用HPROF分析工具可以检测到泄漏的activities、分析出重复定义的字串。步骤如下

Analysis Task

猜你喜欢

转载自blog.csdn.net/su749520/article/details/80763389