2011-05-12 107 views
1

我需要在libgdx for Android的pause()和resume()函数中编写什么代码?如何快速解决Libgdx中的暂停和恢复功能

@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 

    } 

}

回答

6

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

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

+0

是的,我认为是一样的。但是我的应用程序崩溃了......我按下主页按钮,5到15秒后我收到我的应用程序刚刚崩溃的消息。我在HTC Tattoo和三星Galaxy S上测试过这个。 – Felix 2011-05-13 06:39:38

+0

你是否使用多线程来做东西?也许你可以提供一个stracktrace? – Moritz 2011-05-13 07:06:32

+0

我认为你应该开始一个新的问题来解决你的问题,或者编辑这个问题 - 使用libgdx移动/关闭应用程序时的崩溃。我也有这个问题。 – Remm 2011-05-14 21:42:23

1

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