android 有四種啟動模式,分別為:
standard, singletop,singletask,singleinstance,
下面主要說說我自己的理解及它們的使用場景。
standard
很常用的方式,只要開啟乙個activity都會建立乙個新的例項放在棧頂。
一般普通頁面都採用這種模式。
singletop
只要棧頂已經含有該例項,就會重用該例項(重用系統會呼叫onnewintent()方法),並移至棧頂;如果沒有該例項就建立並放至棧頂。
activity
singletask
只要棧中含有該例項,就重用並移至棧頂,沒有就建立該例項並放至棧頂。
一般用在應用的入口介面,如首頁。
singleinstance
只要系統中有應用已經建立了該例項,其他需要使用該例項的應用就不會再建立,而是重用。
應用場景一般是多個應用都用到了同乙個例項,並且該例項只有乙個activity,比如瀏覽器,可能
a應用和
b應用都用到了瀏覽器。而瀏覽器開啟會比較耗時間和資源,每個應用都重新為它建立例項,會造成手機效能下降等影響,因此一般使用該模式來避免。
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...