Android之activity四種啓動方式

standard:標準模式

  • 系統默認模式。每次啓動activity都會重新創建一個新的實例。

singleTop: 棧頂複用模式

  • scene one: 如果即將啓動的activity已經有相同的實例位於棧頂,那麼就不會再創建相同類型的實例,而是會調用該棧頂的activity的onNewIntent方法,通過該方法我們可以取得當前請求的信息。當然,既然沒有被從新實例化,該activity的onCreate方法和onStart方法也不會被調用。
  • scene two: 如果即將啓動的activity已存在,單該實例並沒有位於棧頂,那麼系統仍然會爲我們創建新的acitivity的實例並置於棧頂。

singleTask: 棧內複用模式

  • 該模式爲單例模式,(其作用可以按期名字反過來理解,一個Task中只有一個我)
  • (該模式比SingleTop要霸道)只要棧中存在該activity的實例,系統就不會創建新的實例,會調用onNewIntent方法。
  • scene one:如果該實例位於棧頂,則直接使用該實例。
  • scene two:如果該實例不是位於棧頂,則將該實例上面得實例出棧,使其位於棧頂。

SingleInstance: 單實例模式

  • 這是singleTask的加強版。他具備了SingleTask的所有特性,不同的是,一個任務棧中只能存在它一個實例

發佈了16 篇原創文章 · 獲贊 2 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章