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