Activity的啟動模式

2022-05-06 12:42:16 字數 836 閱讀 3993

activity的啟動模式

-------------------------------

activity的啟動模式決定了activity被啟用時,如何新增到任務棧。

通過androidmanifest.xml中的節點的launchmode屬性可以配置每個activity的啟動模式。

activity的啟動模式有:

1) standard:標準模式(預設)

stardard模式的activity可以被反覆啟用,且每次啟用的都是新的activity物件

2) singletop:棧頂唯一

如果activity已經位於棧頂,再次啟用時,不會建立新的activity物件,反之,如果被啟用的activity沒有處於棧頂,則還是會建立新的activity物件

3) singletask:棧內唯一

被啟用的activity一定位於棧頂,且在棧內只有1個,即如果當前任務棧沒有該activity,則直接建立並且壓棧,當被啟用的activity自然處於棧頂位置,顯示在前台,如果當前任務棧中已經存在該activity,則在棧中該activity之上的所有activity被強制出棧(被銷毀),而被啟用的activity自然彈棧,獲得棧頂位置,顯示在前台。

4) singleinstance:單例

被啟用的activity在任務棧絕對有且僅有1個,處於該模式下的activity將獨立存在於乙個專屬的任務棧中。

注意:activity的啟動模式(launchmode)被配置為singletask或singleinstance時,activity歸屬於哪個任務棧,取決於activity的taskaffinity屬性,該屬性是通過androidmanifest.xml進行配置的。

activity 啟動模式

在android的中activity 有4種啟動方式 standard singletop singletask singleinstance 下面就分輕重點講講這些啟動方式。1 standard啟動方式 這種方式也是系統預設的。說的簡單點,我們在使用startactivity 方法的時候,系統就會...

activity啟動模式

1 對於使用standard 模式的活動,系統不會在乎這個活動是否已經在返回棧中存在,每次啟動都會建立該活動的乙個新的例項。例如a啟動a,a再接著啟動a,a繼續啟動a,然後再分別出棧,如圖所示 2 當活動的啟動模式指定為 singletop,在啟動活動時如果發現返回棧的棧頂已經是該活動,則認為可以直...

Activity啟動模式

兩種方式可以定義activity啟動模式 manifest intent intent定義的啟動模式優先於manifest 不管activity執行在乙個新的任務還是與啟動它的activity同樣的任務,返回鍵總是把使用者帶到之前的activity。然而,如果啟動乙個singletask的activ...