Activity四種啟動模式

2021-07-29 16:48:14 字數 874 閱讀 8526

我們介紹activity的四種啟動模式,分別為standard、singletop、singletask、singleinstance,在androidmanifest.xml中的標籤的android:launchmode屬性可以設定啟動模式。

(1).standard模式

standard是activity預設的啟動模式,在不指定activity啟動模式的情況下,所有acitivity使用的都是standard模式;在standard模式下,每當啟動乙個新的activity,它就會進入任務棧,並處於棧頂的位置,對於使用standard模式的activity,每啟動都會建立乙個新的例項。

(2)singletop模式

考慮當前要啟用的activity例項在任務棧中是否正處於棧頂,如果處於棧頂則無需重新建立新的例項,會重用已存在的例項,否則會在任務棧中建立新的例項。

(3)singletask模式

如果希望activity在整個程式中只存在乙個例項,可以使用singletask模式。當activity的啟動模式為singletask時,每當啟動該activity時,系統首先使用例項,並將當前activity之上的所有activity之上的所有activity出棧,如果沒有發現則建立乙個新的例項。

(4)singleinstance模式

如果希望activity在整個系統中只存在乙個例項,可以使用singleinstance模式。與上述三種方式不同,singleintent模式載入activity時,只會建立乙個activity例項。分為以下兩種情況:

如果要啟動的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跳...