活動 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 活動建立另一個活動時,將建立新任務以放置該活動。