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的所有特性,不同的是,一個任務棧中只能存在它一個實例