hprof可以用来分析某个进程的内存情况,对我们分析内存泄漏问题有很大帮助,本文主要记录如何生成及查看hprof文件。
1生成.hprof文件
可以使用adb命令生成 .hprof文件,生成的是在执行命令的那一刻,该进程的内存情况:
adb shell am dumpheap com.example.myapplication /data/local/tmp/demo.hprof
File: /data/local/tmp/demo.hprof
Waiting for dump to finish...
这里就是对包名为com.example.myapplication在/data/local/tmp/目录下生成了一个demo.hprof的文件。
ps:建议在最开始泄漏前和泄漏之后各采取一次,做对比。
2查看.hprof文件
先用adb命令把文件从设备中导出:
adb pull /data/local/tmp/demo.hprof
然后在Android Studio中使用Profiler打开demo.hprof文件
Android Studio中打开profiler有两种方式
(1)通过Android Studio->View->Tool Windows->Profiler步骤打开
(2)直接点击profiler图标打开
打开Profiler之后,点击+号,选择Load from file...,打开对应的hprof文件
打开后的界面如下: