Android性能优化—内存分析工具MAT的使用(一)

准备

1、下载及安装Android SDK
2、下载及安装MAT(http://www.eclipse.org/mat/

使用流程(windows平台)
收集hprof文件

1、在{ANDROID_HOME}\tools目下双击monitor.bat,打开DDMS界面,如图:

《Android性能优化—内存分析工具MAT的使用(一)》

2、选择要操作进程,如图:

《Android性能优化—内存分析工具MAT的使用(一)》

3、点击一下红色圈圈的按钮(在点击前,可以先点击下它右边的GC按钮),弹出如图:
《Android性能优化—内存分析工具MAT的使用(一)》

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软件,如图

《Android性能优化—内存分析工具MAT的使用(一)》

2、点击File->Open Heap Dump,选择刚刚我们转换成功的hprof

《Android性能优化—内存分析工具MAT的使用(一)》

3、选择Leak Suspects Report,点击finish,进入MAT主界面。

《Android性能优化—内存分析工具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文件了。

    原文作者:粗旷的码农
    原文地址: https://www.jianshu.com/p/4556eedfbb0e
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞