android 中如何分析内存泄漏

1,使用eclipse 自带的 DDMS 工具分析各线程的内存使用情况,如下图所示

android 中如何分析内存泄漏

android 中如何分析内存泄漏

2,点击android 中如何分析内存泄漏android 中如何分析内存泄漏按钮,导出 hprof 文件,使用MAT 工具进行分析。具体分析步骤和过程详见下面链接

http://www.ibm.com/developerworks/cn/opensource/os-cn-ecl-ma/index.html

打开 MAT 工具,File-->Open Heap Dump... 选择你刚刚保存的 hprof 文件打开

此时,会弹出一个错误,如下图所示:

android 中如何分析内存泄漏

提示: Unknown HPROF Version (JAVA PROFILE 1.0.3) (java.io.IOException)

哦,不要以为是 MAT 工具版本不对,其实是 android 的 hprof 文件在这里需要进行转换一下格式才可以使用 MAT 打开,不知道 谷歌在这里

捣了什么鬼,难道是优化?

使用 android sdk 目录下的 tools 中一个工具进行转化一下

使用AndrodiSDK/tools/hprof-conv转化hprof文件,

例如 hprof-conv input.hprof out.hprof

再打开转换后的 hprof 文件,就能看到完整的内存使用分析报告了。

未完待续……