一亭病、活動的生命周期
?返回棧
? ?Android是使用任務(wù)(Task)來管理活動的,一個任務(wù)就是一組存放在棧里的活動的集合。這個棧也被稱作返回棧(Back Stack)杖虾。棧是一種后進(jìn)先出的數(shù)據(jù)結(jié)構(gòu)溯职。
?下圖表示了返回棧是如何管理活動入棧出棧操作的精盅。
?活動狀態(tài)
?活動的的生存期
?Activity類中定義了7個回調(diào)方法,覆蓋了活動生命周期的每一個環(huán)節(jié)谜酒。
1.onCreate()?
在活動第一次被創(chuàng)建時調(diào)用叹俏;在此方法中可完成活動的初始化操作。
2.onStart()
? ?活動由不可見變?yōu)榭梢姷臅r候調(diào)用僻族。
3.onResume()
在活動裝備好和用戶進(jìn)行交互時調(diào)用粘驰,此時的活動一定位于返回棧的棧頂屡谐,并且處于運(yùn)行狀態(tài)。
4.onPause()
在系統(tǒng)準(zhǔn)備去啟動或者回復(fù)另一個活動(對話框形式的活動)的時候調(diào)用蝌数。通常會在這個方法中將一些消耗CPU的資源釋放掉愕掏,以及保存一些關(guān)鍵數(shù)據(jù),但這個方法的執(zhí)行速度一定要快顶伞,不然會影響到新的棧頂活動的使用饵撑。
5.onStop()
在活動完全不可見的時候調(diào)用。它和onPause()的區(qū)別:如果啟動的新活動是一個對話框形式的活動唆貌,那么會調(diào)用onPause(),而onStop()不會執(zhí)行肄梨。
6.onDestroy()
在活動被銷毀之前調(diào)用,之后活動的狀態(tài)將變?yōu)殇N毀狀態(tài)挠锥。
7.onRestart()
在活動由停止?fàn)顟B(tài)變?yōu)檫\(yùn)行狀態(tài)之前調(diào)用众羡,也就是活動被重新啟動了。