Android性能優(yōu)化—內(nèi)存分析工具M(jìn)AT的使用(一)

準(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文件了。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容