(原文:)
一个libgdx应用有着非常完整的生命周期来控制应用的状态。比如创建,暂停,恢复,渲染和处理。 ApplicationListener 开发者可以通过实现ApplicationListener接口传递一个实例到Application中。如下: public class MyGame implements ApplicationListener { public void create () { }
public void render () { }
public void resize (int width, int height) { }
public void pause () { }
public void resume () { }
public void dispose () { } }
ApplicationListener一旦传递给Application,将按顺序执行如下方法:
create():当应用创建的时候调用该方法;
resize(int width, int height):当屏幕大小发生变化时调用该方法,并且应用不处于暂停状态。当create()方法调用之后也会被调用一次。参数的单位为像素。
render():当需要渲染时调用该方法。游戏逻辑更新通常发生在该方法中。
pause():在Android中当Home键被暗下或者收到来电时调用该方法。在桌面中,退出程序时,在dispose()方法调用之前调用该方法,通常用来保存游戏状态。
resume():当应用或游戏从暂停状态中恢复时被调用,这个方法仅仅在Android中被调用。
dispose():当应用被销毁时调用。
总结起来,应用的生命周期通常如下:
![](http://www.apkbus.com/data/attachment/forum/201410/21/181954hb6k5foee65qzok5.jpg)
应用的主循环在哪里?
通常将ApplicationListener.render()视作主循环。 (版权所有,如需转载,注明出处)