准备
1、下载及安装Android SDK
2、下载及安装MAT(http://www.eclipse.org/mat/)
使用流程(windows平台)
收集hprof文件
1、在{ANDROID_HOME}\tools目下双击monitor.bat,打开DDMS界面,如图:
2、选择要操作进程,如图:
3、点击一下红色圈圈的按钮(在点击前,可以先点击下它右边的GC按钮),弹出如图:
4、将hprof文件保存到指定的文件夹。
转换hprof文件
通过DDMS得来的hrpof文件,用MAT软件是打不开的,需要经过一次转换才行,Android SDK中提供了这样的一个工具{ANDROID_HOME}\platform-tools\hprof-conv.exe,通过hprof-conv original.hprof original_conv.hprof,original.hprof 是你通过DDMS得来的hprof,original_conv.hprof是转换后的文件。文章末附录一个bat脚本以方便快速的将hprof进行转换。
运行MAT
1、打开MAT软件,如图
2、点击File->Open Heap Dump,选择刚刚我们转换成功的hprof
3、选择Leak Suspects Report,点击finish,进入MAT主界面。
hprof 转换脚本(Windows)
@echo off
if exist %ANDROID_SDK_HOME% (
set convPath=%ANDROID_SDK_HOME%\platform-tools\hprof-conv.exe
for %%i in (*.hprof) do (
echo %%i|findstr "conv_">nul&&echo echo conv_%%i is exist||if exist conv_%%i (
echo conv_%%i is exist
)else (
%convPath% %%i conv_%%i
)
)
)else (
echo ANDROID_SDK_HOME is missing.
)
复制此脚本粘贴到一个文本中,后缀名设置为bat,将这个bat文件放到hprof目录下后点击,将目录中的hprof文件都统一转换为mat能识别的hprof文件了。