android 中如何分析内存泄漏
1,使用eclipse 自带的 DDMS 工具分析各线程的内存使用情况,如下图所示
2,点击按钮,导出 hprof 文件,使用MAT 工具进行分析。具体分析步骤和过程详见下面链接
http://www.ibm.com/developerworks/cn/opensource/os-cn-ecl-ma/index.html
打开 MAT 工具,File-->Open Heap Dump... 选择你刚刚保存的 hprof 文件打开
此时,会弹出一个错误,如下图所示:
提示: 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 文件,就能看到完整的内存使用分析报告了。未完待续……