我在我的LibGDX遊戲中有非常奇怪的行爲 - 當我玩遊戲,然後按下電源按鈕發送設備到睡眠模式。我已將日誌添加到Activity的回調方法,這就是我所看到的:睡眠模式下的活動生命週期奇怪的行爲(libGDX遊戲)
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次。
我不明白爲什麼活動重新啓動以及執行此操作的是什麼。 我的遊戲我有帳單服務v2(由其他程序員實施),並設置AlarmManager恢復免費遊戲。
我完全和這個問題混淆,所以任何幫助將不勝感激。
UPDATE
似乎在libGDX那筆交易 - 我已經構建具有相同的庫版本的另一個項目,它的行爲完全像我的比賽。
有經常好像是屏幕方向的改變一些(甚至可能是大小?),睡眠有一個方向)。您可能會嘗試在您的Manifest中指出您將在您的應用程序中處理配置更改。 – 2013-05-14 18:05:25
謝謝克里斯,但我已經處理方向| screenSize | smallestScreenSize – Viacheslav 2013-05-14 18:55:05