Android Activity四種啟動模式及應用場景
1. Activity 啟動模式 及 區別
Standare:預設啟動模式,每次都會在虛擬棧頂建立一個例項。
SingleTop:檢查該 Activity 的例項是否位於棧頂,位於棧頂時複用,非棧頂時建立新例項。
SingleTask:該 Activity 在整個應用中只存在一個例項,啟動此 Activity 時會檢查虛擬棧中是否存在它的例項,如果存在直接複用,並把當前Activity之上所有例項全部出棧。
SingleInstance:具備 singleTask 模式的所有特性。該模式的 Activity 會啟動一個新的任務棧來管理 Activity 例項,並且該例項在整個系統中只有一個。無論從那個任務棧中啟動該 Activity,都會是該 Activity 所在的任務棧轉移到前臺,從而使Activity顯示。主要作用是為了在不同程式中共享一個 Activity 例項。
2. Activity 不同啟動模式常見應用場景
Standare:預設,無需設定
SingleTop:APP接收到多條推送訊息,點開不同訊息,均由同一例項展示。
SingleTask:APP的主頁,無論哪種業務場景下再次回到此頁,都不應保留之上Activity。
SingleInstance:如APP經常呼叫的撥打電話、系統通訊錄、地圖類APP 等頁面,不同APP呼叫此類Activity 時,首次建立例項,之後其他APP只能複用此例項。
3. 專案中使用方式
2種方式可配置
1. 動態設定:程式碼中通過 Intent 的 addFlags 方法指定

2. 靜態設定:Manifest.xml 檔案中配置

開始在諸多場景中,靈活運用啟動模式吧老弟!
完畢