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

来源:互联网 发布:小米网络电视怎么样 编辑:程序博客网 时间:2024/05/21 11:03
一  Java内存分析工具扫盲
如果像我一样一点都不了解,可以先进行内存分析工具扫盲

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


二  Eclipse MAT插件安装

当前机器环境描述:
[plain] view plaincopyprint?
  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)文件中调试并除错
原创粉丝点击