1. 程式人生 > >Activity的四種啟動模式及特點

Activity的四種啟動模式及特點

1.Activity的啟動模式分別為:

  • standard(預設啟動模式)
  • singleTop
  • singleTask
  • singleInstance
    *porject檢視下啟動模式的修改在app>src>main下的AndroidManifest.xml修改對應Activity的launchMode屬性即可

**附圖一張
這裡寫圖片描述

2.我們來看一下這幾種啟動方式有什麼區別吧:

  • standard
    系統在啟動 Activity 的任務中建立 Activity 的新例項並向其傳送 Intent。Activity 可以多次例項化,而每個例項均可屬於不同的任務,並且一個任務可以擁有多個例項。

  • singleTop
    如果當前任務的頂部已存在 Activity 的一個例項,則系統會通過呼叫該例項的 onNewIntent() 方法向其傳送 Intent,而不是建立 Activity 的新例項。

  • singleTask
    系統建立新任務並例項化位於新任務棧底部的 Activity。但是,如果該 Activity 的一個例項已存在於一個單獨的任務中,則系統會通過呼叫現有例項的 onNewIntent() 方法向其傳送 Intent,而不是建立新例項。一次只能存在 Activity 的一個例項。

  • singleInstance
    與 “singleTask” 相同,只是系統不會將任何其他 Activity 啟動到已經包含例項了的任務中。該 Activity 始終是其任務唯一僅有的成員,由此 Activity 啟動的任何 Activity 均在單獨的任務中開啟。