LibGDX RoboVM'随机'内存崩溃(异常子类型:WAKEUPS)

时间:2015-09-17 20:13:17

标签: java ios libgdx robovm

我在iOS上的gdx游戏中随机出现了一些崩溃事件。它在其他平台上没有任何问题。

当应用程序退出时,我会在我的robovm终端中获取此信息:

9/17/15 1:05:29 PM: [ERROR] AppLauncher failed with an exception:
9/17/15 1:05:29 PM: [ERROR] java.lang.RuntimeException: The app crashed: Terminated due to Memory Error. Check the device logs in Xcode (Window->Devices) for more info.
9/17/15 1:05:29 PM: [ERROR]     at org.robovm.libimobiledevice.util.AppLauncher.pipeStdOut(AppLauncher.java:829)
9/17/15 1:05:29 PM: [ERROR]     at org.robovm.libimobiledevice.util.AppLauncher.launchInternal(AppLauncher.java:734)
9/17/15 1:05:29 PM: [ERROR]     at org.robovm.libimobiledevice.util.AppLauncher.launch(AppLauncher.java:1052)
9/17/15 1:05:29 PM: [ERROR]     at org.robovm.compiler.target.ios.AppLauncherProcess$1.run(AppLauncherProcess.java:67)

使用xcode的设备崩溃报告我已经检索到了这一点:

Exception Type:  EXC_RESOURCE
Exception Subtype: WAKEUPS
Exception Message: (Limit 150/sec) Observed 457/sec over 300 secs
Triggered by Thread:  0

阅读我已经看到这可能是由于线程处理效率低下但我不太确定。

欢迎任何提示。谢谢!

1 个答案:

答案 0 :(得分:0)

“iOS中的后台线程对每秒在每个线程上运行睡眠/唤醒周期的次数有一个硬性限制,并且此处具有高计数通常表明线程管理中存在错误/低效的问题“。 因此,sleep()的param值应大于或等于6.67ms(1000 / 150ms,计算为150 / sec)。