Activity啟動模式

utf發表於2017-12-19

standard模式

系統預設的標準模式,每次以該模式啟動activity都會建立一個新activity例項,被建立的例項進入activity正常的生命週期。並且A啟動B,B預設存在於A的任務棧。

singleTop模式

棧頂複用模式,同一個任務棧內A啟動B,B例項若已經在棧中存在,則回掉B的onNewIntent的方法,B的onCreate,onStart方法不會被系統呼叫;若B的例項不存在,被建立的例項進入activity正常的生命週期。

singleTask模式

棧內複用模式,建立singleTask模式的Activity時候,若不存在該Acitivty想建立的任務棧,系統會重現建立一個新任務棧,將該activity的押入棧中。如果已經存在Acitivty想要的任務棧,棧中存在該activity的例項,系統將該acitivty置於棧頂,回掉onNewIntent的方法,onCreate,onStart方法不會被系統呼叫;如果不存在該activity例項,被建立的例項進入activity正常的生命週期。

singleInstance模式

單例模式,於singleTask特性相同,但是該模式的acitivty單獨位於一個任務棧中。

相關文章