Eclipse的LogCat充斥着带有android的WAIT_FOR_CONCURRENT_GC

时间:2012-12-30 17:50:29

标签: java android garbage-collection

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

  

12-30 12:40:05.344:D / dalvikvm(22831):WAIT_FOR_CONCURRENT_GC阻塞了5ms   12-30 12:40:05.383:D / dalvikvm(22831):GC_CONCURRENT释放511K,34%免费2374K / 3552K,暂停1ms + 2ms,总计14ms

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

我正在使用的设备是运行android 4.2.1(Cyanogenmod 10.1)的verizon galaxy nexus和3.2(api level 13)的sdk / target版本。谢谢!

2 个答案:

答案 0 :(得分:0)

不确定这是否正是您正在寻找的,但这是我搜索您的错误时的第一件事 - what does WAIT_FOR_CONCURRENT_GC blocked mean?。此外,目标 3.2

几乎没有理由

答案 1 :(得分:0)

您将能够以自己的方式进入更详细的描述,但基本上它只是意味着您正在努力使垃圾收集器工作。

编程游戏与编写“普通”应用程序不同:您的游戏可能无数次循环。 因此,即使是微小的内存泄漏也会迅速增长,成为一个真正的问题。

此外,GC也是你最大的朋友,在游戏中它几乎是你的敌人之一。每次GC运行都会产生一些冻结,因为它“阻止了世界”。

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