【问题标题】:How to resolve quickly the pause and resume functions in Libgdx如何快速解决 Libgdx 中的暂停和恢复功能
【发布时间】:2011-05-12 15:33:38
【问题描述】:

我需要在 libgdx for Android 的 pause() 和 resume() 函数中编写什么代码?

    @Override
    public void create() {
            // TODO Auto-generated method stub

    }

    @Override
    public void dispose() {
            // TODO Auto-generated method stub

    }

    @Override
    public void pause() {
            // TODO Auto-generated method stub

    }

    @Override
    public void render() {
            // TODO Auto-generated method stub

    }

    @Override
    public void resize(int width, int height) {
            // TODO Auto-generated method stub

    }

    @Override
    public void resume() {
            // TODO Auto-generated method stub

    }

}

【问题讨论】:

    标签: java resume libgdx


    【解决方案1】:

    基本上你不必在这两种方法中写任何东西。当您在 create() 中设置您的应用程序并在 render() 中绘制您的东西时,您的 libgdx 应用程序将工作。当另一个活动进入前台并且您返回到您的 libgdx 应用程序时,这甚至会起作用。

    当您的 libgdx 活动因系统回收内存而终止时,情况会发生变化。在这种情况下,您可以使用 pause() 来保存应用程序状态并在 resume() 中恢复它。 Libgdx 还没有封装 android 的 Parcelable 概念,因此您需要找到另一种持久性机制。

    【讨论】:

    • 是的,我也这么认为。但是我的应用程序崩溃了......我按下主页按钮,5-15 秒后我收到我的应用程序刚刚崩溃的消息。我在 HTC 纹身和三星 Galaxy S 上测试了这个。
    • 您是否使用多个线程来做事?也许你可以提供一个 stracktrace?
    • 我认为你应该针对你的正确问题提出一个新问题,或者编辑这个问题——使用 libgdx 时打开/关闭应用程序时的崩溃。我也有这个问题。
    【解决方案2】:

    可能涉及所谓的上下文丢失的暂停和恢复事件。当 Android 上发生上下文丢失时,这意味着操作系统已决定强制释放加载的资产占用的内存。因此,在上下文丢失后直接访问您的资产会立即使恢复的游戏崩溃。为防止这些崩溃,您需要重新加载资产,然后再再次访问它们。

    【讨论】:

      猜你喜欢
      • 2015-06-07
      • 2014-11-20
      • 1970-01-01
      • 1970-01-01
      • 2019-06-28
      • 2014-02-07
      • 1970-01-01
      • 1970-01-01
      • 2013-03-08
      相关资源
      最近更新 更多