本文是The life cycle的譯文
LibGDX具有明確的生命周期,用于管理應(yīng)用程序的狀態(tài),如創(chuàng)建、暫停、恢復(fù)、渲染和銷(xiāo)毀應(yīng)用程序。
ApplicationListener
應(yīng)用程序開(kāi)發(fā)人員通過(guò)實(shí)現(xiàn)ApplicationListener接口并將該實(shí)現(xiàn)的實(shí)例傳遞到特定的后端Application實(shí)現(xiàn)(平臺(tái)特定代碼)從而掌控應(yīng)用程序的生命周期事件。從此之后,應(yīng)用程序?qū)⒃诿看伟l(fā)生應(yīng)用程序級(jí)事件時(shí)調(diào)用ApplicationListener,一個(gè)基礎(chǔ)的ApplicationListener可能如下所示:
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 () {
}
}
如果我們僅僅關(guān)心一些其他重要的方法,那么我們也可以直接從ApplicationAdapter中派生.
一旦ApplicationListener被傳遞給應(yīng)用程序,ApplicationListener方法將被調(diào)用如下:
| 方法簽名 | 描述 |
|---|---|
| create () | 當(dāng)Application被創(chuàng)建時(shí)立即被調(diào)用 |
| resize(int width, int height) | 當(dāng)游戲處于渲染狀態(tài)并且游戲畫(huà)面被重新調(diào)整大小,就會(huì)調(diào)用此方法。當(dāng)然,在create()方法之后也會(huì)被調(diào)用一次。參數(shù)是屏幕已調(diào)整大小的新寬度和新高度(以像素為單位) |
| render () | 每次渲染應(yīng)該由應(yīng)用程序通過(guò)游戲循環(huán)調(diào)用的方法。 游戲邏輯更新通常也在此方法中執(zhí)行。 |
| pause () | 在Android應(yīng)用上,該方法是將在Home被按下或者有來(lái)電時(shí)運(yùn)行,如果是桌面應(yīng)用,那么它將在dispose() 方法前執(zhí)行,該方式是保存游戲數(shù)據(jù)的好地方. |
| resume () | 該方法僅在Android應(yīng)用上起作用,當(dāng)應(yīng)用程序從Pause狀態(tài)轉(zhuǎn)Resume狀態(tài) |
| dispose () | 當(dāng)應(yīng)用程序被銷(xiāo)毀時(shí)調(diào)用,在此之前pause () 會(huì)先執(zhí)行. |
生命周期的的 視圖:

生命周期(官網(wǎng))
主循環(huán)在哪?
顯式的主循環(huán)不存在,這主要是由于Android和JavaScript的工作原理,但是ApplicationListener.render()方法可以被看作是這樣一個(gè)主循環(huán)的主體。