Android是Linux系統.於其上運行APP都是Linux進程.Android APP沒有main入口函式.所以Android系統啟動APP時以Main Activity作為APP入口點.要理解Android APP運行需理解Activity生命週期.睇上圖左邊從Create到Destroyed完成整個生命週期.
Activity.onCreate():在創建時Activity加載界面並分配資源,如讀取音頻和3D模型.只會在啟動時被調用一次.
Activity.onStart():在onCreate()之後被調用或onRestart()之後調用
Activity.onRestart():用於重置Activity在onStop()之後被調用.
Activity.onResume():用於恢復(總會被調用)Activity在onStart()之後被調用或onPause()之後被調用
Activity.onPause():暫停(總會被調用).當Activity進入後臺時被調用
Activity.onStop():停止.當APP進入後臺時被調用.在onPause()之後調用.
Activity.onDestroy():銷毀.當APP退出時調用.若調用onPause()或onStop()之後onDestroy()將不會被調用.
為讓遊戲結構變得簡單.只需重寫onCreate()、onResume()和onPause()三個函式.下面是用於遊戲開發MainActivity.java模板
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
// 初此遊戲資源
super.onCreate(savedInstanceState); //創建Activity時調用
setContentView(R.layout.main); // 把佈局填充給Activity
}
@Override
protected void onResume() {
// 恢復遊戲線程
super.onResume();
}
@Override
protected void onPause() {
// 暫停遊戲線程
super.onPause();
}
}
當你生成MainActivity.java文檔後需要在AndroidManifest.xml文檔中聲明為入口Activity
<activity android:name=”.MainActivity” android:label=”@string/app_name”>
<intent-filter>
<action android:name=”android.intent.action.MAIN” />
<category android:name=”android.intent.category.LAUNCHER” />
</intent-filter>
</activity>
你必須登入才能發表留言。