libGDX iOS 主页按钮杀死游戏

libGDX iOS home button kills the game

我正在为 Android 和 iOS 开发 libGDX 游戏(MobiDevelop 的 RoboVM 分支)。 Android 完美运行,但我在 iOS 上遇到问题。当按下 iPhone 主页按钮离开游戏,然后我通过点击图标再次启动游戏时,游戏并没有从暂停的地方继续,而是重新开始,这意味着显示加载屏幕,重新加载所有资产,并出现主菜单。就像应用程序的 fresh/new 启动一样。我的 libgdx 项目中的 iOS 模块没有任何特定配置,我使用的是预先生成的内容。

是否可以告诉 iOS 我 不想 终止进程?我只想切换到 pause/sleeping 模式。

虽然我完全不熟悉 libGDX,但我可以告诉您,除了少数非常特殊的情况(VOIP 等),您无法控制 iOS 在主页按钮被按下。

此外,开发人员有责任在应用离开前台时保存应用的状态,因为这不是或不能以高效方式自动处理的事情。

我找到了这个问题的原因。我在真机上测试过,所以看不到日志。当我切换到模拟器并查看日志时,我发现了 NullPointerException。这是应用程序崩溃的原因。当我修复这个错误时,一切都按我预期的那样工作。 iPhone 按下主页按钮后,调用 com.badlogic.gdx.Screen 的 pause() 方法,重新运行游戏后,它会从停止/暂停的位置继续。

我吸取了教训:先在模拟器上做个测试:-)