淺談Activity的生命週期

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........................................... 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章