android四種啟動模式

2021-07-01 23:48:58 字數 1196 閱讀 1069

當應用執行起來後就會開啟一條執行緒,執行緒中會執行乙個任務棧,當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。介紹四種模式之前,先介紹下任務棧的概念 任務棧 每個...