2

我在android模拟器上的内存不足。我试图找到问题的根源。

这是我的堆数据。

在此处输入图像描述

如果我没看错,那我有 3.1 MB 可用空间,但可用的最大块只有 179.336 KB?

我可以使用一些方向来确定问题的根源。这是按浅堆排序的 MAT 直方图。我应该寻找哪个,因为最大的浅堆不一定是最大的保留堆?

在此处输入图像描述

4

2 回答 2

1

我建议你看一下链接中的视频

http://www.youtube.com/watch?v=_CruQY55HOk

这家伙通过一个例子展示了如何使用 Mat Analyzer 来查找内存泄漏并修复它

以下链接中的博客由视频中的同一个人撰写

http://android-developers.blogspot.in/2011/03/memory-analysis-for-android.html

这是另一个相同的教程

http://www.youtube.com/watch?v=6ryAYxLNpt8

于 2013-05-02T04:44:29.477 回答
0

要找到对象的最大保留堆,您需要右键单击一个对象,然后检查“不包括弱引用的 GC 根路径”

于 2013-05-02T02:03:24.360 回答