【问题标题】:Eclipse's LogCat gets flooded with WAIT_FOR_CONCURRENT_GC with androidEclipse 的 LogCat 被 WAIT_FOR_CONCURRENT_GC 淹没
【发布时间】:2012-12-30 17:50:29
【问题描述】:

我正在编写一个小型 android 游戏,每当我第一次运行时,一切正常,但它会随机挂起并开始在 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 freed 511K, 34% free 2374K/3552K, paused 1ms+2ms,总共14ms

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

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

【问题讨论】:

    标签: java android garbage-collection


    【解决方案1】:

    您可以通过 Google 搜索到更详细的描述,但基本上这只是意味着您正在让垃圾收集器非常努力地工作。

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

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

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

    【讨论】:

    • 谢谢,当你指出“循环无数次”时,我觉得我应该控制更新和渲染线程的刷新率
    【解决方案2】:

    不确定这是否正是您要查找的内容,但这是我搜索您的错误时的第一件事 - what does WAIT_FOR_CONCURRENT_GC blocked mean?。此外,几乎没有理由定位 3.2

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-06
      • 1970-01-01
      相关资源
      最近更新 更多