天天记录 - Android内存分析工具DDMS heap + MAT 安装和使用



一  Java内存分析工具扫盲
如果像我一样一点都不了解,可以先进行 内存分析工具扫盲

MAT介绍:     Eclipse Memory Analyzer(MAT)一个功能丰富的 JAVA 堆转储文件分析工具,可以用于发现内存漏洞和减少内存消耗。


二  Eclipse MAT插件安装

当前机器环境描述:
系统: Ubuntu 12.04 LTS 64
Eclipse for Mobile Developers Version: Juno Service Release 1
ADT:  20.03



1. Help -> Install  New Software ->  

2. 在弹出的窗口中 Work with 右侧的下拉按钮中选择相应的版本,我使用的Eclipse是Juno版,所以选择
Juno - http://download.eclipse.org/releases/juno

3. 等pedding 之后,打开 General Purpose Tools 目录,勾选此目录下的以下两项
Memory Analyzer
Memory Analyer(Charts) [optional]

4. Finish


三 使用DDMS HEAP生成HPROF文件

1. 打开DDMS视图
天天记录 - Android内存分析工具DDMS heap + MAT 安装和使用_第1张图片


2. 选择要分析的包名, 当前演示选中的是com.android.updater,然后点击Update Heap按钮
天天记录 - Android内存分析工具DDMS heap + MAT 安装和使用_第2张图片


3. 在Heap视图中点击Cause GC按钮, 决定何时进行监听
天天记录 - Android内存分析工具DDMS heap + MAT 安装和使用_第3张图片


5.  保存内存HPROF文件, 点击Dump HPROF file按钮,即带向下红色箭头的按钮
天天记录 - Android内存分析工具DDMS heap + MAT 安装和使用_第4张图片



四  使用MAT插件打开HPROF文件

1. 如果MAT已经正常安装,单击Dump HPROF file之后,会自动弹出此窗口, 我这里选择的是第一项,finish
天天记录 - Android内存分析工具DDMS heap + MAT 安装和使用_第5张图片


2. MAT以图文的形式显示内存信息
天天记录 - Android内存分析工具DDMS heap + MAT 安装和使用_第6张图片



五 更多资料

1.   使用 Eclipse Memory Analyzer 进行堆转储文件分析
写的非常好,以一个例子出发,一步步演示如何使用MAT分析内存溢出问题


2. Android官方文档
Memory Analysis for Android Applications      文档中文翻译


3. 上篇官方文档作者相关资料:
作者博客    作者2011 I/O大会内存分析问题演讲视频
 

3. 安装好MAT插件后本地会有文档, 本地文档地址

4.  从转储(Dump)文件中调试并除错







你可能感兴趣的:(天天记录 - Android内存分析工具DDMS heap + MAT 安装和使用)