1. 程式人生 > >activity 的生命週期及狀態及啟動模式

activity 的生命週期及狀態及啟動模式

1.執行狀態 2.暫停狀態 3.停止狀態 4.銷燬狀態

oncreat()此方法 是activity 初次建立的時候 自動呼叫的 ,一般用來載入佈局 初始化控制元件等

onstart()此方法 是activity 由不可見 到可見的時候 自動呼叫的

onresume()此方法是activity 位於棧頂時 可以與 使用者進行互動時

onpause()此方法 是activity 並未完全不可見的時候 ,以對話方塊形式的activity 為例 可以在此方法內 進行資料的儲存 此時是 處於 暫停的狀態

onstop()此方法是activity 完全不可見的時候 ,此時是處於 完全不可見的狀態

ondestory()此方法 activity 銷燬時 自動呼叫,此時是處於  銷燬狀態

onrestart()此方法是 activity 從不可見狀態 重新被啟用   也就是onstop 方法被呼叫後 沒有被摧毀 沒有嗲用ondestroy

activity 再次被啟用 此時 將自動呼叫此方法 onrestart()方法

activity 位於 棧 中 ,而且有一個原則 就是 先進後出

activity 的啟動模式 :

1.standard 標準模式  從activity A跳轉到activity B中,如果B的啟動模式為 標準模式,每跳轉一次 ,就建立一個

2.singletop  同上 ,如果 此時 B位於棧頂 則 不需要重新建立,如果B不是位於棧頂,則需要重新建立一個B

3.singletask 同上,如果此時B位於 棧頂,則不需要重新建立,如果B不是位於棧頂,則 需要將棧內B以上的 所有activity都

                   清除出棧 ,不會建立新的物件

4.singleinstance  同上,從A跳轉到B 如果此時B的啟動模式 為singleinstance 則會新建立一個任務棧 ,而且這個任務棧中 就只有一個B,舉個例子 ,如果A為標準模式,B為 singleinstance則 ,A跳轉B,B再跳轉回A,則順序如下:

原來的任務棧中有兩個activityA,新建立的任務棧中只有B