Android的四種啟動模式

2021-06-26 20:23:51 字數 952 閱讀 7559

1、啟動模式通俗的說就是activity啟動時的策略,在android

manifest.xml檔案中的android:launchmode屬性設定。

啟動模式有四種:standard、singletop、singtask、singinstance。

介紹四種模式之前,先介紹下任務棧的概念

任務棧:每個應用都有乙個任務棧,用來存放activity的,activity在棧中的順序和其啟動的先後順序是一致的。

2、四種啟動模式

standard啟動模式:是activity預設的啟動模式,設定此屬性的activity啟動時不管棧中是否存在該activity的例項,都會重新建立該

activity新的例項。這種啟動模式在實際開發中往往不能滿足我們的需求,而且對系統資源的耗費比較大。

singletop啟動模式:設定該屬性的activity在啟動時先檢視任務棧的棧頂是否存在該activity的例項,如果存在就不再建立新的activity例項(必須在棧頂),這種啟動模式解決了棧頂復用的為題,避免在棧頂存在多個同乙個activity的例項。

singletask啟動模式:設定該屬性的activity啟動時會在整個任務棧中查詢是否存在該activity的例項,如果存在就將該

activity上面的activity消滅掉,使該

activity公升至棧頂。這種啟動方式實現了同乙個應用中同乙個activity例項的共享。

注:singletask

可以用來退出整個應用。

將主activity設為singtask模式,然後在要退出的activity中轉到主activity,然後重寫主activity的onnewintent函式,並在函式中加上一句finish。

singleinstance啟動模式:設定該屬性的activity在啟動時,系統會將該activity的例項放入乙個新的任務棧中,並且允許其他應用加入該任務棧。這種啟動方式實現了多個應用共享同乙個activity例項。

android四種啟動模式

當應用執行起來後就會開啟一條執行緒,執行緒中會執行乙個任務棧,當activity 例項建立後就會放入任務棧中。activity啟動 模式的設定在 androidmanifest.xml檔案中,通過配置 activity的屬性 android launchmode 設定。1.standared模式 預...

Android四種啟動模式

standard 每次都會新建,每個task都可以有,且每個task都可以有多個例項 每個task都可以有,且可以有多個 singletop 當前例項如果在棧頂,就不新建例項,呼叫其onnewintent。如不在棧頂,則新建例項 每個task都可以有,且可以有多個,在棧頂時可復用,否則建立 sing...

Android 四種啟動模式

launchmode 設定啟動模式 預設啟動模式時 standard 無腦壓棧,不管棧頂或棧裡有沒有同一型別的activity,都會跑進去 開啟乙個activity會壓在原activity上,呼叫返回方法,會一層一層的銷毀activity,而不會直接返回到系統頁面 2,singletop 新的act...