活動 launchMode
啟動模式定義任務中新活動或現有活動的行為。
有可能的啟動模式:
- 標準
- singleTop
- singleTask
- singleInstance
它應該在 <activity/>
元素的 android manifest 中定義為 android:launchMode
屬性。
<activity
android:launchMode=["standard" | "singleTop" | "singleTask" | "singleInstance"] />
標準:
預設值。如果設定此模式,將始終為每個新意圖建立新活動。因此,可以獲得相同型別的許多活動。新活動將放在任務的頂部。不同的 Android 版本有一些區別:如果活動是從另一個應用程式開始,則在 orroids <= 4.4 上它將被置於與啟動器應用程式相同的任務上,但是在> = 5.0 時將建立新任務。
SingleTop:
此模式與 standard
幾乎相同。可以建立許多 singleTop 活動的例項。不同之處在於,如果活動例項已經存在於當前堆疊的頂部,則將呼叫 onNewIntent()
而不是建立新例項。
SingleTask:
使用此啟動模式的活動只能在系統中有一個例項。如果活動不存在,將建立活動的新任務。否則,具有活動的任務將被移動到前面並且將呼叫 onNewIntent
。
SingleInstance:
此模式類似於 singleTask
。不同之處在於,使用 singleInstance
進行活動的任務只能進行此活動,僅此而已。當 singleInstance
活動建立另一個活動時,將建立新任務以放置該活動。