Activity啟動模式詳解

2022-08-19 18:33:08 字數 929 閱讀 4749

在android中每個介面都是乙個activity,切換介面操作其實是多個不同activity之間的例項化操作。在android中activity的啟動模式決定了activity的啟動執行方式。

android為了使我們能夠打破預設的堆疊的先後出的模式,提供了兩個種方式:一種是在androidmanifest.xml定義activity時指定它的載入模式,另一種是在用intent開啟乙個activity時,在intent中加入標誌。如果兩種方式都用了,則後者的優先順序更高。

兩種方式的差別在於,前者在於描述自己,向別的acttivity等宣告你們如何來載入我;而後者則是動態的,指出我要求你(要啟動的activity)如何來載入。

android總activity的啟動模式分為四種:

activity啟動模式設定:

activity的四種啟動模式:

1. standard

模式啟動模式,每次啟用activity時都會建立activity,並放入任務棧中。

2. singletop

如果在任務的棧頂正好存在該activity的例項, 就重用該例項,否則就會建立新的例項並放入棧頂(即使棧中已經存在該activity例項,只要不在棧頂,都會建立例項)。

3. singletask

如果在棧中已經有該activity的例項,就重用該例項(會呼叫例項的onnewintent())。重用時,會讓該例項回到棧頂,因此在它上面的例項將會被移除棧,掃除所有擋住他的activity,直至抵達棧頂。如果棧中不存在該例項,將會建立新的例項放入棧中。

4. singleinstance

在乙個新棧中建立該activity例項,並讓多個應用共享改棧中的該activity例項。一旦該模式的activity的例項存在於某個棧中,任何應用再啟用該activity時都會重用該棧中的例項,其效果相當於多個應用程式共享乙個應用,不管誰啟用該activity都會進入同乙個應用中。

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