我在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
阅读我已经看到这可能是由于线程处理效率低下但我不太确定。
欢迎任何提示。谢谢!
答案 0 :(得分:0)
“iOS中的后台线程对每秒在每个线程上运行睡眠/唤醒周期的次数有一个硬性限制,并且此处具有高计数通常表明线程管理中存在错误/低效的问题“。 因此,sleep()的param值应大于或等于6.67ms(1000 / 150ms,计算为150 / sec)。