【Android】 Activity Lifecycle
阿新 • • 發佈:2019-02-14
1.前言
之前面試過程中,被問到過Activity Lifecycle的相關知識,答的不好,所以今天特意總結學習一下。
2.Activity Lifecycle圖解
3.生命週期中的六個階段
一個完整的Activity Lifecycle包括六個階段,在實際中即為六個方法:onCreate(),onStart(),onResume(),onPause(),onStop(),onDestroy().
- onCreate()方法——Activity首次建立時最先被呼叫的方法,在Activity的一個完整生命週期中,此方法只會被呼叫一次。在開發過程中,我們一般需要使用setContentView(int)方法來初始化UI,對UI等進行資料繫結等操作。
- onStart()方法——onCreate()方法執行後被呼叫的方法,其一般和onStop()一起組成visible lifetime的起始和終止階段。在此階段,使用者對這個Activity是可見的但是不會獲得焦點。
- onResume()方法——onStart()方法執行後被呼叫的方法,它和onStop()方法一起組成 foreground lifetime。此方法執行完成後,Activity可以獲得使用者的焦點,執行相應的方法。
- onPause()方法——當我們呼叫startActivity(Intent)等方法啟動另一個Activity,且新Activity的onCreate()方法呼叫之前會被呼叫的方法,當前Activity會呼叫此方法,使用者對這個Activity將不可見。在此方法中,我們需要可以執行一些用來儲存持久化資料,停止動畫,關閉一些耗時操作等的方法。這是啟動一個新的Activity時一定會呼叫的方法。
- onStop()方法——此方法呼叫之後,我們將對這個Activity不再可見,所以如果新啟動的Activity是一個全屏不透明的Activity時,這個方法將會被呼叫。
- onDestroy()——此方法一般是顯示呼叫finish()方法或者被系統強制銷燬時,被呼叫的方法。這也是Activity生命週期的最後一個階段。
4.例項說明
1.啟動一個Activity的過程時
2.從一個Activity進行另外一個Dialog或者透明樣式的Activity時
3.從一個Dialog或透明樣式的Activity返回到之前的Activity(使用Back鍵或顯示呼叫finish()方法)時
4從一個Activity跳轉到普通的Activity時
5.從普通Activity返回到之前的Activity時
6.按Home鍵時
7.按Back鍵時
8.螢幕旋轉