Android——Activity四種啓動模式

1 standard: 標準(默認)模式

當通過這種模式來啓動Activity時,Android總會爲目標Activity創建一個新的實例,並將該Activity添加到當前Task棧中.注意,這種方式不會啓動新的Task,只是將新的Activity添加到原有的Task

2 singleTop: Task頂單例模式

該模式和standard模式基本一致,但有一點不同:當將要被啓動的Activity已經位於Task棧頂時,系統不會重新創建目標Activity實例,而是直接複用Task棧頂的Activity

3 singleTask: Task內單例模式

採用該加載模式時,Activity在同一個Task內只有一個實例。另外,從後臺切換回前臺,會調用onNewIntent()方法。
當系統採用singleTask模式加載Activity時,又分爲以下三種情況:

(1)如果將要啓動的Activity不存在,那麼系統將會創建該實例,並將其加入Task棧頂
(2)如果將要啓動的Activity已存在,且存在棧頂,那麼此時 與singleTop模式的行爲相同
(3)如果將要啓動的Activity存在但是沒有位於棧頂,那麼此時系統會把位於該Activity上面的所有其他Activity 全部移出Task,從而使得該目標Activity位於棧頂

4 singleInstance: 全局單例模式

在此種加載模式下,無論從哪個Task中啓動目標Activity,只會創建一個目標Activity實例且會用一個全新的Task棧來裝載該Activity實例.當系統採用singleInstance模式加載Activity時,又分爲以下
兩種情況:

(1)如果將要啓動的Activity不存在,那麼系統將會先創建一個
全新的Task,再創建目標Activity實例並將該Activity實例 放入此全新的Task中
(2)如果將要啓動的Activity已存在,那麼無論它位於哪個應用 程序,哪個Task中;系統都會把該Activity所在的Task轉到
前臺,從而使該Activity顯示出來

轉載自:http://www.it165.net/pro/html/201310/7431.html

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