思路:复现泄漏步骤,dump hprof 文件,用MAT工具分析大对象的引用链。
操作步骤:
1、adb shell 进入Android 系统
2、am dumpheap [进程名] /data/local/tmp/temp.hprof
3、另起一个终端 “adb pull /data/local/tmp/temp.hprof 电脑上的路径” ,把hprof 文件pull到电脑上
4、此时hprof 文件为Android hprof 文件,需要用SDK hprof-conv 工具转化成 java 的hprof
5、另起一个终端,进入platform-tools 文件夹,运行命令:hprof-conv 需要转化的文件 转化之后的地址
例如 hprof-conv H:\temp.hprof H:\temp_conv.hprof
6、下载MAT工具,可以去官网下载 地址:https://www.eclipse.org/mat/downloads.php
7、使用Mat工具打开hprof文件后,点击Dominator Tree,工具会列出所有对象,并且可以很直观的看到每一个对象占用的内存大小。
8、找到自己的包名下类名,右键Path To GC Roots -> with all references,就可以找到该类所有引用
标签:泄漏,temp,conv,文件,hprof,内存,android,工具
From: https://www.cnblogs.com/yongfengnice/p/16953239.html