準(zhǔn)備
1、下載及安裝Android SDK
2、下載及安裝MAT(http://www.eclipse.org/mat/)
使用流程(windows平臺(tái))
收集hprof文件
1、在{ANDROID_HOME}\tools目下雙擊monitor.bat,打開DDMS界面,如圖:

2、選擇要操作進(jìn)程,如圖:

3、點(diǎn)擊一下紅色圈圈的按鈕(在點(diǎn)擊前,可以先點(diǎn)擊下它右邊的GC按鈕),彈出如圖:

4、將hprof文件保存到指定的文件夾。
轉(zhuǎn)換hprof文件
通過DDMS得來的hrpof文件,用MAT軟件是打不開的,需要經(jīng)過一次轉(zhuǎn)換才行,Android SDK中提供了這樣的一個(gè)工具{ANDROID_HOME}\platform-tools\hprof-conv.exe,通過hprof-conv original.hprof original_conv.hprof,original.hprof 是你通過DDMS得來的hprof,original_conv.hprof是轉(zhuǎn)換后的文件。文章末附錄一個(gè)bat腳本以方便快速的將hprof進(jìn)行轉(zhuǎn)換。
運(yùn)行MAT
1、打開MAT軟件,如圖

2、點(diǎn)擊File->Open Heap Dump,選擇剛剛我們轉(zhuǎn)換成功的hprof

3、選擇Leak Suspects Report,點(diǎn)擊finish,進(jìn)入MAT主界面。

hprof 轉(zhuǎn)換腳本(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.
)
復(fù)制此腳本粘貼到一個(gè)文本中,后綴名設(shè)置為bat,將這個(gè)bat文件放到hprof目錄下后點(diǎn)擊,將目錄中的hprof文件都統(tǒng)一轉(zhuǎn)換為mat能識(shí)別的hprof文件了。