對於Actiivty的四種啟動模式的理解

2021-07-13 20:53:01 字數 710 閱讀 5213

actiivty分為4中啟動模式 :

1,標準模式 

2,singletop模式

3,singletask模式

4,singleinstance模式

這幾種模式,都是在清單檔案中的activity標籤上進行配置的。

1,標準模式,即為預設的模式,該模式就是常見的出棧 進棧,似乎沒什麼好說的。每當啟動乙個相同的activity物件時,都會在棧頂建立乙個actiivty物件。

2,singletop模式,該模式和標準模式基本相同,但該模式和標準模式的區別在於,當乙個為singletop模式的actiivty在棧頂上時,再次啟動該activity時,並不會再建立乙個該actiivty物件,而是直接呼叫該activity的 onnewintent()函式。

3,singletask模式,該模式和singletop模式基本相同,但不同的地方就在於,當乙個為singletask模式的activity在棧底底部時,再次啟動該activity時,將會再次呼叫該actiivty的 onnewintent() 函式,並且將會將棧中的該actiivty 上面的其他actiivty都 殺掉。

4,singleinstance 模式,該模式和之前的三個模式不同,當啟動乙個為 singleinstance 模式的 activity時,將會再開乙個棧,並且這個棧中只有這乙個actiivty,當重新啟動該activity時,將會呼叫該activity物件的 onnewintent() 函式。

Android activity的四種啟動模式

1 standard 預設模式,無論何時,啟動乙個activity時,都會在task棧頂建立乙個該activity的新例項 2 singletop 啟動乙個activity時,如果task棧頂是該activity的例項,則重用該例項,並呼叫onnewintent 方法 如果task棧頂不是該acti...

Android Activity的四種啟動模式

對安卓而言,activity有四種啟動模式,它們是 standard 標準模式,每次都新建乙個例項物件 singletop 如果在任務棧頂發現了相同的例項則重用,否則新建並壓入棧頂 singletask 如果在任務棧中發現了相同的例項,將其上面的任務終止並移除,重用該例項。否則新建例項併入棧 sin...

Activity四種啟動模式

launchmode在多個activity跳轉的過程中扮演著重要的角色,它可以決定是否生成新的activity例項,是否重用已存在的activity例項,是否和其他activity例項公用乙個task裡。這裡簡單介紹一下task的概念,task是乙個具有棧結構的物件,乙個task可以管理多個acti...