我正在为Android和iOS(MobiDevelop的RoboVM fork)开发一个libGDX游戏。 Android工作得很好,但我在iOS上遇到了问题。当按下iPhone主页按钮退出游戏,并且我通过点击图标再次启动游戏时,游戏不会从暂停的位置恢复,而是重新启动,这意味着显示加载屏幕,所有资产都重新加载,出现主菜单。就像应用程序的新鲜/新的开始。我的libgdx项目中的iOS模块没有任何特定配置,并且正在使用预生成的内容。
是否有可能告诉iOS我不想要杀死进程?我想只切换到暂停/休眠模式。
答案 0 :(得分:1)
我找到了这个问题的原因。我在真实设备上测试了它,因此我无法看到日志。当我切换到模拟器并查看日志时,我发现了 NullPointerException 。这是应用程序崩溃的原因。当我修复这个bug时,一切都按照我的预期运行。按下iPhone主页按钮后,调用com.badlogic.gdx.Screen的pause()方法,重新运行游戏后,它会从停止/暂停的位置继续。
我吸取了教训:首先在模拟器上进行测试: - )
答案 1 :(得分:0)
虽然我对libGDX完全不熟悉,但我可以告诉你,除了一些非常具体的情况(VOIP等)之外,当按下主页按钮时,你无法控制iOS对你的app做什么。
此外,开发人员有责任在应用程序离开前台时保存应用程序的状态,因为这不是可以或者可以以高效的方式自动处理的。