一 Java内存分析工具扫盲
如果像我一样一点都不了解,可以先进行内存分析工具扫盲
MAT介绍: Eclipse Memory Analyzer(MAT)一个功能丰富的 JAVA 堆转储文件分析工具,可以用于发现内存漏洞和减少内存消耗。
二 Eclipse MAT插件安装
二 Eclipse MAT插件安装
当前机器环境描述:
- 系统: Ubuntu 12.04 LTS 64
- Eclipse for Mobile Developers Version: Juno Service Release 1
- ADT: 20.03
- 系统: Ubuntu 12.04 LTS 64
- Eclipse for Mobile Developers Version: Juno Service Release 1
- ADT: 20.03
系统: 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文件
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插件后本地会有文档,本地文档地址
2. Android官方文档 Memory Analysis for Android Applications 文档中文翻译
3. 上篇官方文档作者相关资料: 作者博客 作者2011 I/O大会内存分析问题演讲视频
3. 安装好MAT插件后本地会有文档,本地文档地址