Activity的四種啟動模式

2021-07-10 09:40:48 字數 1209 閱讀 3161

當應用執行起來後就會開啟一條執行緒,執行緒中會執行乙個任務棧,當activity

例項建立後就會放入任務棧中。

activity啟動

模式的設定在

androidmanifest.

xml檔案中,通過配置

activity的屬性

android:launchmode=""

設定。

1. 

standard模式(預設)

我們平時直接建立的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

Activity四種啟動模式

launchmode在多個activity跳轉的過程中扮演著重要的角色,它可以決定是否生成新的activity例項,是否重用已存在的activity例項,是否和其他activity例項公用乙個task裡。這裡簡單介紹一下task的概念,task是乙個具有棧結構的物件,乙個task可以管理多個acti...

Activity四種啟動模式

activity的啟動模式可以通過androidmanifest.xml檔案中的元素的屬性來指定,一共有4中模式 android name activitymain android launchmode singletask 1 standard 2 singletop 3 singletask 4...

Activity 四種啟動模式

activity有四種載入模式 standard 預設 singletop,singletask和 singleinstance。以下逐一舉例說明他們的區別 一 standard activity的預設載入方法,即使某個activity在task棧中已經存在,另乙個activity通過intent跳...