0

我的 LibGDX 游戏中的 Activity 行为非常奇怪 - 当我玩游戏然后按下电源按钮将设备发送到睡眠模式时。我已将日志添加到 Activity 的回调方法中,这就是我所看到的:

05-14 16:32:51.694: I/BP(32656): onPause()
05-14 16:32:51.704: I/BP(32656): onStop()
05-14 16:32:51.854: I/BPApplication(32656): BPApplication.onConfigurationChanged()
05-14 16:32:51.854: I/BP(32656): BP.onConfigurationChanged()

在这一点上,一切顺利。还有一些奇怪的开始:

05-14 16:40:42.774: I/BP(32656): onRestart()
05-14 16:40:42.774: I/BP(32656): onStart()
05-14 16:40:43.064: I/BP(32656): onResume()
05-14 16:40:44.566: I/BP(32656): BP.onConfigurationChanged()
05-14 16:40:44.566: I/BPApplication(32656): BPApplication.onConfigurationChanged()
05-14 16:40:49.761: I/System.out(32656): screen resize w = 480, h=800 // libGDX callback
05-14 16:40:49.911: I/System.out(32656): GAME RESUMED...              // libGDX callback
05-14 16:40:50.471: I/System.out(32656): screen resize w = 800, h=480 // libGDX callback
05-14 16:40:59.010: I/System.out(32656): GAME PAUSED                  // libGDX callback
05-14 16:41:00.711: I/BP(32656): onPause()
05-14 16:41:00.801: I/BP(32656): onStop()
05-14 16:41:00.851: I/BP(32656): onRestart()
.... this cycle repeats 5 - 10 times ....

如您所见,问题是设备休眠时 Activity.onRestart() 和进一步的回调调用。这在近一分钟内重复了 5-10 次。
我不明白为什么 Activity 会重新启动以及执行此操作的原因。我的游戏我有计费服务 v2(由其他程序员实现)并设置 AlarmManager 以恢复免费游戏。

我对这个问题完全感到困惑,所以任何帮助都将不胜感激。

更新

似乎 libGDX 中的交易 - 我已经构建了另一个具有相同库版本的项目,它的行为与我的游戏完全一样。

4

1 回答 1

1

在您的 AndroidManifest.xml 中,您应该有类似的内容 -

<activity 
  android:name=".YourAppName"
  android:configChanges="keyboardHidden|orientation|screenSize"/>
于 2013-05-14T18:48:52.827 回答