如何安全地退出lib gdx应用程序?

时间:2015-12-19 07:54:36

标签: java android libgdx

我使用lib gdx库创建了一个应用程序,但现在尝试通过以下代码退出应用程序时 Gdx.app.exit();,它并没有真正退出应用程序,只是隐藏它(进程缓存在后台)。

在应用程序的第一次运行时,主菜单(使用皮肤创建)将显示正常 enter image description here

但是在退出应用程序后,然后启动缓存进程,您将遇到主菜单问题。我尝试在我的代码中处理皮肤,但它仍然是相同的。 enter image description here

无论如何使用以下代码作为替代方案完全退出应用程序?

android.os.Process.killProcess(android.os.Process.myPid());

2 个答案:

答案 0 :(得分:1)

您似乎遇到了Android's生命周期的问题。例如,通过手动尝试终止自己的流程,而不是抵制它,您应该了解LibGDX如何处理它:为此,请查看应用life cycle上的LibGDX wiki

至于您的具体问题,我的猜测是,您正在对static进行一些Skin引用,这意味着它可以在您的应用中幸存下来"退出" (在您阅读了上述文章之后,希望您能够更多地了解这一点)。但是,由于您在退出之前disposed Skin,因此您使用已处置的资产,但该资产无法正常运行。解决此问题的方法(如果确实存在问题)是确保您在应用程序Skin时创建新的resumes,而不是使用disposed。就个人而言,由于这个原因,我从来没有static引用资产。

答案 1 :(得分:0)

使用后

Gdx.app.exit(); 采用 System.exit(-1);