Activity的生命週期
簡述生命週期
onCreate
- 當Acitivity第一次被創建出來時會被觸發,一般在這裏要做的事情是創建視圖等等。
onStart
- 當activity開始運行從不可見到可見就會觸發這個方法。
onResume
- 當activity處於最上層和用戶交互的時候觸發這個方法。
onRestart
- 如果Activity之前被stop過,那麼下一次onStart()方法之前會先觸發這個方法。
onPause
- 當activity原本在最上層當被擠下去的時候觸發這個方法。
onStop
- 當有其他的activity覆蓋上了當前的activity時,不論其他的activity什麼情況都會觸發這個方法。
onDestroy
- 這是activity的生命週期的終點。有兩種情況會觸發它:①執行了activity的finish()方法;②由於Android系統資源不足等方面原因要清除activity所在的進程。
舉例驗證
- 當開始點擊運行按鈕時,依次onCreate()->onStart()->onResume()依次觸發。
E/MainActivity: onCreate.....................
E/MainActivity: onStart..............................
E/MainActivity: onResume...............................
- 當點擊Button按鈕跳轉頁面時,依次是onPuase()->onStop();
E/MainActivity: onPause......................................
D/EGL_emulation: eglMakeCurrent: 0xe5061d60: ver 2 0 (tinfo 0xe5ae1c10)
E/MainActivity: onStop...........................................
- 當點擊返回時,依次是onRestart()->onStart()->onResume();
E/MainActivity: onRestart.......................
E/MainActivity: onStart..............................
E/MainActivity: onResume...............................
- 當按下home鍵時,依次是onPause()->onStart();
E/MainActivity: onPause......................................
D/EGL_emulation: eglMakeCurrent: 0xe5061d60: ver 2 0 (tinfo 0xe5ae1c10)
E/MainActivity: onStop...........................................