standard:默認模式
當通過這種模式來啟動Activity時,Activity會創建一個新的實例并加入當前Task棧中。如多次使用該模式啟動同一個Activity,那么Task棧中會有多個Activity實例。
singleTop:Task棧頂單例模式
當通過這種模式來啟動Activity時,如果發現有對應的Activity實例正位于棧頂,則重復利用,不再生成新的實例。
如果在對應的Task棧中有對應的Activity實例,但不在Task棧頂,那么就會生成一個新的Activity實例,并置于ask棧頂。
singleTask: Task內單例模式
當通過這種模式來啟動Activity時,
*1.如果將要啟動的Activity不存在,那么系統將會創建該實例,并將其加入Task棧頂
*2.如果將要啟動的Activity已存在,且存在棧頂,那么此時不會創建新的實例,Task棧也不會改變。
*3.如果將要啟動的Activity存在但是沒有位于Task棧頂,那么將會把Task棧中置于該Activity的以上的其他實例全部從Task棧中移除,從而使得該Activity位于Task棧頂。
singleInstance: 全局單例模式
當通過這種模式來啟動Activity時,無論從哪個Task中啟動目標Activity,只會創建一個目標Activity實例且會用一個全新的Task棧來裝載該Activity實例.
*1.如果將要啟動的Activity不存在,那么會先創建一個新的Task棧,再創建一個該Activity的實例,并置于Task棧頂。
*2.如果將要啟動的Activity已存在,那么無論它位于哪個應用程序,哪個Task棧中,都會把該Activity所在的Task棧切換到前臺,從而使該Activity顯示出來。