我需要在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
}
}
答案 0 :(得分:6)
基本上你不必在这两种方法中写任何东西。当您在create()中设置应用程序并在render()中绘制内容时,您的libgdx应用程序将起作用。当另一个活动进入前台并返回到您的libgdx应用程序时,这甚至可以工作。
当您的libgdx活动终止时,事情会发生变化,因为系统会回收内存。在这种情况下,您可以使用pause()来保存应用程序状态并在resume()中恢复它。 Libgdx还没有包装Android的Parcelable概念,所以你需要找到另一种持久性机制。
答案 1 :(得分:3)
暂停和恢复可能涉及所谓的上下文丢失的事件。当在Android上发生上下文丢失时,这意味着操作系统已决定强制释放已加载资源占用的内存。因此,在上下文丢失后直接访问您的资产会立即使恢复的游戏崩溃。要防止这些崩溃,您需要在重新访问资产之前重新加载它们。