5

我正在使用 Eclipse Memory Analyzer Tool (MAT) 调查我的 Android 活动是否存在内存泄漏。如果活动有泄漏,我希望死实例会在堆上徘徊,而不是收集垃圾。为了检查这一点,我反复启动和停止(通过按下后退按钮)活动,然后使用 MAT 检查堆转储。

但是我观察到一些我无法解释的奇怪行为:活动的第一个实例(在强制关闭后开始)永远不会被垃圾收集。但是,随后的实例确实如此。我从使用 MAT 工具的检查中知道这一点:无论活动启动和停止多少次,MAT 工具总是在堆上显示两个实例。第一个实例属于第一次启动活动,而第二个实例属于最近运行的活动。

关于可能发生的事情以及我是否应该担心这个问题的任何想法。内存泄漏?非常感谢您的建议。

4

1 回答 1

0

刚刚结束:似乎 MapActivity 子类中存在内存泄漏的已知问题。参见例如 code.google.com/p/android/issues/detail?id=2181。还没有找到适合我的修复程序。

于 2013-03-06T12:53:37.010 回答