Java 日食';s LogCat被android并发的等待GC淹没

Java 日食';s LogCat被android并发的等待GC淹没,java,android,garbage-collection,Java,Android,Garbage Collection,我正在编写一个小的android游戏,每当我第一次运行时,一切都很好,但它会随机挂起,并开始在eclipse的LogCat中无休止地发送垃圾邮件 12-30 12:40:05.344:D/dalvikvm(22831):等待并发GC阻塞5毫秒 12-30 12:40:05.383:D/dalvikvm(22831):GC_并发释放511K,34%释放2374K/3552K,暂停1ms+2ms,总计14ms 我知道这与垃圾收集有关,但每当我强制停止应用程序(关闭应用程序的唯一方法)时,我会丢失大约

我正在编写一个小的android游戏,每当我第一次运行时,一切都很好,但它会随机挂起,并开始在eclipse的LogCat中无休止地发送垃圾邮件

12-30 12:40:05.344:D/dalvikvm(22831):等待并发GC阻塞5毫秒 12-30 12:40:05.383:D/dalvikvm(22831):GC_并发释放511K,34%释放2374K/3552K,暂停1ms+2ms,总计14ms

我知道这与垃圾收集有关,但每当我强制停止应用程序(关闭应用程序的唯一方法)时,我会丢失大约5-10mb的可用ram,直到我重新启动设备。有人知道这意味着什么以及如何预防吗


我使用的设备是verizon galaxy nexus,运行android 4.2.1(Cyanogenmod 10.1)和sdk/目标版本3.2(api级别13)。谢谢

不确定这是否正是您要查找的内容,但这是我搜索您的错误时的第一件事-。此外,几乎没有理由将目标锁定在3.2上,你可以通过谷歌搜索到更详细的描述,但基本上这只是意味着你正在努力让垃圾收集器工作

编程游戏不同于编程“普通”应用程序:你的游戏可能会循环无数次。 因此,即使是一个很小的内存泄漏也可能很快成为一个真正的问题

此外,GC通常是你最大的朋友,在游戏中它几乎是你的敌人之一。每次GC运行都会创建一个小冻结,因为它“停止世界”

我建议您继续在特定的游戏编程教程中搜索,以及如何在这些教程中使用GC。

谢谢,当您指出“无数次循环”时,我突然想到我应该控制更新和渲染线程的刷新率