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

一  Java内存分析工具扫盲
如果像我一样一点都不了解,可以先进行内存分析工具扫盲
 
MAT介绍:     Eclipse Memory Analyzer(MAT)一个功能丰富的 JAVA 堆转储文件分析工具,可以用于发现内存漏洞和减少内存消耗。


二  Eclipse MAT插件安装
 
当前机器环境描述:
[plain] view plaincopy
 
  1. 系统: Ubuntu 12.04 LTS 64 
  2. Eclipse for Mobile Developers Version: Juno Service Release 1 
  3. ADT:  20.03 
[plain] view plaincopy
 
  1. 系统: Ubuntu 12.04 LTS 64  
  2. Eclipse for Mobile Developers Version: Juno Service Release 1  
  3. 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视图



2. 选择要分析的包名, 当前演示选中的是com.android.updater,然后点击Update Heap按钮



3. 在Heap视图中点击Cause GC按钮, 决定何时进行监听



5.  保存内存HPROF文件, 点击Dump HPROF file按钮,即带向下红色箭头的按钮




四  使用MAT插件打开HPROF文件
 
1. 如果MAT已经正常安装,单击Dump HPROF file之后,会自动弹出此窗口, 我这里选择的是第一项,finish
 
 
2. MAT以图文的形式显示内存信息

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


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


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


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

4. 从转储(Dump)文件中调试并除错
posted on 2015-04-28 23:57  troyjie  阅读(279)  评论(0编辑  收藏  举报