Activity啟動模式 載入模式

2021-07-02 20:28:03 字數 1664 閱讀 9420

activity啟動模式/載入模式

activity啟動模式任務堆疊

activity中的任務是與使用者互動的一組

activity

的集合,

activity

會被按開啟順序安排在乙個堆疊裡。

任務棧:並不是activity是

activity

的引用(記憶體位址) 

1.standard 標準模式

每次啟用

activity

時都會建立

activity

,並放入任務棧中

預設模式

2.singletop 獨享堆疊頂端

如果在任務的棧頂正好存在該

activity

的例項,就重用該例項,否者就會建立新的例項並放入棧頂

(即使棧中已經存在該

activity

例項,只要不在棧頂,都會建立例項

)

setflags(intent.flag_activity_clear_top

);//不管如何都移除它上面的例項,並重新oncreate

3.

singletask 獨享任務堆疊

如果在棧中已經有該

activity

的例項,就重用該例項

(會呼叫例項的

onnewintent())

。重用時,會讓該例項回到棧頂,因此在它上面的例項將會被移除棧。如果棧中不存在該例項,將會建立新的例項放入棧中

setflags(intent.flag_activity_clear_top

|intent.flag_activity_single_top)//類似singletask

4.

singleinstance單例

在乙個新棧中建立該

activity

例項,並讓多個應用共享該棧中的該

activity

例項。一旦該模式的

activity

的例項存在於某個棧中,任何應用再啟用該

activity

時都會重用該棧中的例項,其效果相當於多個應用程式共享乙個應用,不管誰啟用該

activity

都會進入同乙個應用中

總結:singletop:如果重複使用上一次的

activity

,就重用。

singletask:如果使用已經例項化

activity

,就重用,並且刪除重用

activity

前面的activity

,重用的

activity

置頂任務棧。

singleinstance:在乙個新棧中建立該

activity

例項,並讓多個應用共享該棧中的該

activity

例項。(呼叫activity和重用activity不在乙個棧中)

singletop 、singletask 、singleinstance 優化效能、重用

activity

Activity的啟動模

四種啟動模式 standard,singletop,singletask,singleinstance 通過在androidmanifest.xml的標籤中指定android launchmode屬性來設定啟動模式 standard standard是活動的預設啟動模式,我們知道android是通過...

Android歷程 Activity啟動模式

在android中的activity包含有四種啟動模式,分別為standard singletop singletask與singleinstance他們之間彼此聯絡,有各有各的特點 下面進行一下細緻的了解 1 standard standard為標準啟動模式,每次啟用時都會建立乙個新的activi...

Android基礎 Activity啟動模式

在android中,活動的管理是通過返回棧來控制的,每當啟動乙個新的活動,它就會在返回棧中入棧。活動的啟動模式就是控制活動進入返回棧的方式,包括standard singletop singletask和singleinstance四種。每次都會在返回棧頂層加入新的活動,standard是活動預設的...