GC_FOR_MALLOC释放错误,如何避免这种情况?

时间:2011-12-10 04:27:09

标签: android

我正在制作一个测验应用程序,当用户选择一个类别(例如C#)时,该类别中的20个问题将逐一出现。

编码主要完成。当我测试时,前两次尝试正常。之后我开始收到这些错误(我知道它正在释放内存):

 GC_FOR_MALLOC freed 4136 objects / 374744 bytes in 66ms
 GC_FOR_MALLOC freed 2345 objects / 374744 bytes in 51ms
 GC_FOR_MALLOC freed 3453 objects / 374744 bytes in 62ms
 GC_FOR_MALLOC freed 1245 objects / 374744 bytes in 26ms
 GC_FOR_MALLOC freed 9893 objects / 374744 bytes in 86ms

我尝试重新启动eclipse,清理项目,重新启动模拟器,清除了我的应用程序的dalvik-cache。在此之后没有任何工作,甚至logcat也没有记录任何东西。

我如何找到罪魁祸首?我从未创建过这么多对象,但GC_FOR_MALLOC正在释放它们。

有人可以提出良好的做法,以避免将来出现这类错误吗?

1 个答案:

答案 0 :(得分:1)

您可以使用DDMS / ADT的分配跟踪器来查找创建的对象类型以及对此负责的例程。跟踪器显示所有已分配的对象以及分配点的堆栈跟踪。