Android 的 Activity 四種啓動模式

在多Activity開發中,有可能是自己應用間的activity 跳轉,或者夾帶其他應用的可複用activity。可能會希望跳轉到原來某個activity實例,而非產生多個重複的activity。我們可藉助 activity 四種啓動模式來實現不同的需求:
standard 默認模式 ——— 來了intent,每次都創建新的實例。

singleTop ——– 來了intent, 每次都創建新的實例,僅一個例外:當棧頂的activity 恰恰就是該activity的實例(即需要創建的實例)時,不再創建新實例。這解決了棧頂複用問題,想一想,你按兩次back鍵,退出的都是同一個activity,這感覺肯定不爽。

singleTask ———- 來了intent後,檢查棧中是否存在該activity的實例,如果存在就把intent發送給它,否則就創建一個新的該activity的實例,放入一個新的task棧的棧底。肯定位於一個task的棧底,而且棧中只能有它一個該activity實例,但允許其他activity加入該棧。解決了在一個task中共享一個activity。

singleInstance ———– 肯定位於一個task的棧底, 並且是該棧唯一的activity。解決了多個task共享一個activity。

發佈了13 篇原創文章 · 獲贊 1 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章