Activity的四種啟動模式

2021-07-29 08:43:50 字數 1165 閱讀 5341

當應用執行起來後就會開啟一條執行緒,執行緒中會執行乙個任務棧,當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。

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跳...