Activity的生命週期是指從建立到結束這中間的各階段,曾經看一位前輩的部落格文章說:
學Android一定要了解Activity的生命週期,而且是徹底了解。
的確在實務開發中幾乎是必定要處理生命週期的部分,所以我們先在今天稍微了解,之後的幾天再找實例來應用練習。
(來自官方網站)
我們可以把每個生命週期加上Log來測試,將MainActivty的各階段加上Log
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// The activity is being created.
Log.d("MainActivity", "onCreate");
// 原本的Button等程式碼在此先省略...
}
@Override
protected void onStart() {
super.onStart();
// The activity is about to become visible.
Log.d("MainActivity", "onStart");
}
@Override
protected void onResume() {
super.onResume();
// The activity has become visible (it is now "resumed").
Log.d("MainActivity", "onResume");
}
@Override
protected void onPause() {
super.onPause();
// Another activity is taking focus (this activity is about to be "paused").
Log.d("MainActivity", "onPause");
}
@Override
protected void onStop() {
super.onStop();
// The activity is no longer visible (it is now "stopped")
Log.d("MainActivity", "onStop");
}
@Override
protected void onDestroy() {
super.onDestroy();
// The activity is about to be destroyed.
Log.d("MainActivity", "onDestroy");
}
執行APP,在底下的Run或Android Monitor可以看到Log,若需改Log字體大小在[Setting -> Editor -> Color&Fonts -> Console Font]
一開始會看到
按Home回到首頁
從使用列表中清掉
可以把SecondActivity也加入Log,在兩頁之間跳轉看Log並對照說明圖看看。之後會舉實例說明怎麼運用生命週期來完善APP,今天先有大概了解就可以了。