Android:如何在应用程序中测试内存泄漏?

时间:2012-09-21 04:30:22

标签: android memory-leaks android-emulator

我开发了一个应用程序,我想查看应用程序中发生的内存泄漏。我正在尝试使用eclipse MAT,但不成功,我正在获取HROF文件但是eclipse MAT无法读取它。任何人都可以帮助我。找到其他任何方式。

3 个答案:

答案 0 :(得分:4)

需要转换Android的dump.hprof文件。然后你可以在MAT中打开converted-dump.hprof。

hprof-conv dump.hprof converted-dump.hprof

答案 1 :(得分:3)

我发现this视频非常有用。这里讨论了如何从logcat(垃圾收集器日志)中找到内存泄漏以及如何使用内存分析器(MAT)等内容。

答案 2 :(得分:1)

@sujith video非常好。总而言之, 1)视频谈到了“非静态内部阶级”难以发现的泄漏。在this page中对此进行了详细说明。 2)在使用Memory Analyzer工具时,他谈到了一些重要的概念,例如浅堆与保留堆,GC Root和支配树。 3)他展示了使用MAT来识别泄漏的示例。在MAT中,他说的最有用的工具是直方图和支配树。在进一步检查对象时,他使用右键菜单“GC to Path”,然后“排除弱引用”。