我正在制作一个测验应用程序,当用户选择一个类别(例如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正在释放它们。
有人可以提出良好的做法,以避免将来出现这类错误吗?
答案 0 :(得分:1)
您可以使用DDMS / ADT的分配跟踪器来查找创建的对象类型以及对此负责的例程。跟踪器显示所有已分配的对象以及分配点的堆栈跟踪。