四種啟動模式:
1.預設standrad(直接建立新的例項)
activity棧的變化:(假設都沒設定)
a b c
現在啟動c
a b c c
2.棧頂復用singletop(如果此時位於頂部,復用)
引起的生命週期
如果c在頂部
activity棧的變化:(假設c設定了singaltop)
a b c
如果啟動c
a b c
如果c不在頂部
activity棧的變化:(假設c設定了singaltop)
a c b
如果啟動c
a c b c
3.棧內復用singaltask(如果此時任務棧中有,退出在它上面的,復用它)
引起的生命週期 執行了包括自己上部的activity的destory
剩餘 仿照 返回自己
activity棧的變化:(假設c設定了singaltask)
a c b
現在啟動c
a c4.單例復用singalinstance(系統會給它另外乙個棧)
activity棧的變化:(假設c設定了singalinstance)
棧1:a b
棧2:如果啟動c
棧1:a b
棧2:c
再啟動一次c
棧1:a b
棧2:c
Activity啟動流程 總結
該文介紹在activity啟動過程中涉及到的相關類和對該啟動過程知識總結 對activitystacksupervisor中維護的幾個類的集合的理解,幫助我們更好的理解activity的四種啟動模式。activitydisplay 顯示的裝置,每個裝置中都包含多個activitystack,它們的型...
2 Activity啟動模式
activity 啟動模式,熟知的就是 standard singletop singletask singleinstance 注意點 只有 singletask 啟動模式的activity 單獨設定任務棧名稱有意義。任務棧名稱不可與包名一致,設定方式為在清單檔案。android taskaffi...
總結系列 Activity啟動模式
activity作為android中重要一環,它有4種不同的啟動模式,類似於c語言中的區域性變數 全域性變數及靜態變數等。這4種啟動模式如下。standard 標準模式,呼叫startactivity 方法就會產生乙個新的例項。singletop 檢查是否已經存在了乙個例項位於activity st...