2025-02-09

 

1) 安裝 

Help->SoftWare Updates and Add-ons->Available software-> Add Site : 

http://download.eclipse.org/mat/1.0/update-site/



2) 生成.hprof文件

adb shell

chmod 777 /data/misc  (默認的HProf (Heap Profile) 放在/data/misc,需要改寫權限為777)

exit



adb shell ps (查看你的進程號)



adb shell kill -10 pid (你準備分析的進程號)



這個時候你可能在logCat中看到一些如下信息:

adb shell logcat



I/dalvikvm( ): threadid=7: reacting to signal 10 I/dalvikvm( ): SIGUSR1 forcing GC and HPROF dump I/dalvikvm( ): hprof: dumping VM heap to "/data/misc/heap-dump-tm- pid.hprof-hptemp". I/dalvikvm( ): hprof: dumping heap strings to "/data/misc/heap-dump-tm124026 3144-pid.hprof". I/dalvikvm( ): hprof: heap dump completed, temp file removed D/dalvikvm( ): GC freed 1292 objects / 92440 bytes in 11 sec D/dalvikvm( ): GC freed 215 objects / 9400 bytes in 963m



現在你可以將heap dump 信息拷貝到某個地方,以便我們一會用eclispse的 MAT來分析:



adb pull /data/misc/heap-dump-tm-pid.hprof    ××××目錄

 



3) 使用

使用sdk安裝目錄下面的hprof-conv工具將heap-dump-tm-pid.hprof轉換一下,eclipse->windows->open perspective->other->memory analyzer 導入你剛剛生成的.hprof文件



4) 分析

詳解: http://www.eclipse.org/mat/about/screenshots.php

摘自:androidzhaoxiaogang的專欄

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *