1

我需要在 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

    }

}

4

2 回答 2

6

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

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

于 2011-05-12T18:46:59.017 回答
1

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

于 2017-10-22T12:08:47.603 回答