當應用執行起來後就會開啟一條執行緒,執行緒中會執行乙個任務棧,當activity
例項建立後就會放入任務棧中。
activity啟動
模式的設定在
androidmanifest.
xml檔案中,通過配置
activity的屬性
android:launchmode=""
設定。1.
standared模式(預設)
我們平時直接建立的activity
都是這種模式的
activity
,這種模式的
activity
的特點是:只要你建立了
activity
例項,一旦啟用該
activity
,則會向任務棧中加入新建立的例項,退出
activity
則會在任務棧中銷毀該例項。
2.
singletop模式
這種模式會考慮當前要啟用的activity
例項在任務棧中是否正處於棧頂,如果處於棧頂則無需重新建立新的例項,會重用已存在的例項,否則會在任務棧中建立新的例項。
3.
singletask模式
如果任務棧中存在該模式的activity
例項,則把棧中該例項以上的
activity
例項全部移除,呼叫該例項的
newinstance()
方法重用該
activity
,使該例項處於棧頂位置,否則就重新建立乙個新的
activity
例項。4.
singleinstance模式
當該模式activity
例項在任務棧中建立後,只要該例項還在任務棧中,即只要啟用的是該型別的
activity
,都會通過呼叫例項的
newinstance()
方法重用該
activity
,此時使用的都是同乙個
activity例項
,它都會處於任務棧的棧頂。此模式一般用於載入較慢的,比較耗效能且不需要每次都重新建立的
activity
。
Android四種啟動模式
standard 每次都會新建,每個task都可以有,且每個task都可以有多個例項 每個task都可以有,且可以有多個 singletop 當前例項如果在棧頂,就不新建例項,呼叫其onnewintent。如不在棧頂,則新建例項 每個task都可以有,且可以有多個,在棧頂時可復用,否則建立 sing...
Android 四種啟動模式
launchmode 設定啟動模式 預設啟動模式時 standard 無腦壓棧,不管棧頂或棧裡有沒有同一型別的activity,都會跑進去 開啟乙個activity會壓在原activity上,呼叫返回方法,會一層一層的銷毀activity,而不會直接返回到系統頁面 2,singletop 新的act...
Android的四種啟動模式
1 啟動模式通俗的說就是activity啟動時的策略,在android manifest.xml檔案中的android launchmode屬性設定。啟動模式有四種 standard singletop singtask singinstance。介紹四種模式之前,先介紹下任務棧的概念 任務棧 每個...