Android JAVA 内存泄漏MAT检查工具使用说明
1. Memory Analyzer简介
Eclipse MAT 是Memory Analyzer 工具的简称. MAT主要用来分析JAVA程序堆空间,帮助JAVA开发者分析应用的内存泄露、应用oom和内存使用优化。需要快速了解下MAT工具使用说明:
MAT wiki : http://wiki.eclipse.org/index.php/MemoryAnalyzer
MAT download : http://www.eclipse.org/mat/downloads.php
MAT 调试参考 : http://help.eclipse.org/mars/index.jsp?topic=/org.eclipse.mat.ui.help/welcome.html
2. Android Memory Analysis
Androidt日常开发过程中,应用层内存问题主要有以下3类:
1). Android 应用进程OOM
2). Android 应用进程memory leak
3). Android 应用内存优化
4) Android 应用性能分析(减少GC引起的性能损耗)
Android 应用内存分析可以借助Android sdk tool提供的DDMS工具DDMS工具中提供了Allocation Tacker
、heap dumps 和dump hprof file工具进行问题分析.
2.1 Allocation Tacker
DDMS中的Allocation Tacker可以追踪Android系统中的进程内存动态使用情况,从追踪的过程中大概的定位下进程中消耗内存的地方,操作步骤如下,打开DMMS工具
2.2 heap dumps
heap dumps按钮下可以追踪到进程空间的heap变化,观察heap size、heap allocted的分布.
2.3 dump hprof file
dump hprof file按钮实际上是一种“快照”机制,将进程的heap数据保存为一种HPROF二进制格式文件,这种文件
通过转换格式可以直接使用Eclipse Memory Analyzer(MAT)工具来分析。如果想产生更精确的dump数据,可以在程序中使用android.os.Debug.dumpHprofData() 方法。
DDMS产生的.hprof文件是Dalvik格式,因此从Dalvik格式转换成J2SE HPROF格式。 Android SDK提供的hprof-conv工具可以完成这一转换:
hprof-conv dump.hprof converted-dump.hprof
接下来,就可以使用eclipse MAT工具打开hprof格式文件进行heap的分析。
2.4 Eclipse MAT分析heap
Mat界面启动后,操作工具栏选择File->Open Heap Dump,打开转换后的*.hprof文件,工具解析后会出现如下界面
界面的左下角有直方图Histogram视图区,该区会显示heap中每个类的实例可排序列表,其中shallow heap(所有实例的内存使用总和),或者retained heap(所有类实例被分配的内存总和,里面也包括他们所有引用的对象)。
http://chiyx.iteye.com/blog/1528782 待续
3.Android层应用的内存泄露
基本步骤
- 使用DDMS工具观察应用进程的heap 变化状态,同时不断的操作当前应用,注意观察data object的Total size.
- 应用代码如果逻辑良好,正常亲狂下Total size会稳定在一个范围内,不出出现太大的增长。因此创建对象的过程中GC机制也在回收内存,因此内存量会比较稳定。
-
如果应用代码中存在对象引用没有释放,每次GC后,data object不会有明显的回落,反而会随着应用特定操作的增多,heap不断累加,直到后面heap 达到了dalvik heapsize极限,logcat中可以看到触发oom栈溢出信息。
文档参考:
http://blog.csdn.net/fulinwsuafcie/article/details/8363218
http://www.open-open.com/lib/view/open1330605577327.html
http://kohlerm.blogspot.hk/2010/02/android-memory-usage-analysis-slides.html
- 分享
- 举报
-
浏览量:192次2024-09-29 16:03:37
-
浏览量:4570次2020-06-19 15:56:33
-
浏览量:5722次2020-10-13 17:14:09
-
浏览量:2473次2020-08-25 18:07:51
-
浏览量:5132次2020-08-25 18:07:54
-
2024-08-22 21:17:40
-
浏览量:3272次2018-04-12 11:32:51
-
浏览量:3639次2017-11-16 11:30:55
-
浏览量:15318次2018-09-27 20:15:39
-
浏览量:2503次2020-02-29 10:14:49
-
浏览量:6552次2021-04-15 14:30:22
-
浏览量:1922次2020-08-17 18:03:03
-
浏览量:2086次2020-08-14 18:20:33
-
浏览量:5296次2020-10-15 15:43:43
-
浏览量:6308次2021-03-29 11:34:27
-
浏览量:5124次2021-04-10 14:21:38
-
浏览量:4905次2021-04-10 14:11:46
-
浏览量:1134次2023-08-29 15:52:13
-
浏览量:3862次2024-01-19 13:48:15
-
广告/SPAM
-
恶意灌水
-
违规内容
-
文不对题
-
重复发帖
free-jdx
感谢您的打赏,如若您也想被打赏,可前往 发表专栏 哦~
举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明