Activity的生命周期 A啟動B,B返回A, A,B的全生命周期

一、Activity的加載模式有四種:

?standard: 標準模式,默認的加載模式,每次通過這種模式啟動目標Acitivity,都創建一個新的實例,并將該Activity添加到當前棧中。

singleTop: 與標準模式類似,只有當Activity位于Task頂時,系統不會重新創建目標Activity的示例,而是直接復用已有的Activity實例。

singleTask:? 如果要啟動的Activity不存在,系統創建Activity實例,并將它加入棧頂   如果將啟動的Activity存在,已經位于棧頂,此時與singleTop行為相同,如果要啟動的Activity存在,但不是位于棧頂,系統會使Activity上面所有的Activity出棧。

singleInstance:   如果要啟動的Activity不存在,系統會創建一個新的Task,再創建Activity實例,將它加入新Task的棧頂   如果要啟動的Activity存在,無論它在哪個應用程序中,系統都會把該Activity所在的Task轉至前臺。

二、A啟動B??A生命周期全過程

1.啟動A

? ?? ?Activity的初始化了,A第一步創建onCreate(): -------->成功!

? ???Activity被激活A,onStart? ?Activity顯示在屏幕上(): -------->成功!

? ???Activity被恢復A,onResume(): -------->成功!

2.在A中啟動B

? ?Activity被暫停A,Activity進入暫停狀態onPause(): -------->成功!

? ?B------------------>(): 創建!

? ?Activity被激活B,onStart? ?Activity顯示在屏幕上(): -------->成功!

? ?Activity被恢復B,onResume(): -------->成功!

? ?Activity被停止A,Activity進入停止狀態onStop(): -------->成功!

3.從B中返回A(按物理硬件返回鍵)

? ???Activity被暫停B,Activity進入暫停狀態onPause(): -------->成功!

? ???Activity被重啟A,Activity從停止狀態進入活動狀態onRestart(): -------->成功!

? ???Activity被激活A,onStart? ?Activity顯示在屏幕上(): -------->成功!

? ???Activity被恢復A,onResume(): -------->成功!

? ???Activity被停止B,Activity進入停止狀態onStop(): -------->成功!

? ???Activity的消亡了,B最后的生命!銷毀onDestroy(): -------->成功!

4.繼續返回

? ???Activity被暫停A,Activity進入暫停狀態onPause(): -------->成功!

? ???Activity被停止A,Activity進入停止狀態onStop(): -------->成功!

? ???Activity的消亡了,A最后的生命!銷毀onDestroy(): -------->成功!

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容