1. standard standard 是活動預設的啟動模式,在不進行顯式指定的情況下,所有活動都會自動使用這個啟動模式。對於使用 standard 模式的活動,系統不會在乎活動是否已在返回棧中存在,每次啟動都會創建一個新的活動實例。 2. singleTop 當活動的啟動模式指定為 single ...
1. standard
standard 是活動預設的啟動模式,在不進行顯式指定的情況下,所有活動都會自動使用這個啟動模式。對於使用 standard 模式的活動,系統不會在乎活動是否已在返回棧中存在,每次啟動都會創建一個新的活動實例。
2. singleTop
當活動的啟動模式指定為 singleTop 時,若啟動活動時發現返回棧的棧頂已是該活動,則直接使用它,不創建新的活動實例。
3. singleTask
當活動的啟動模式為 singleTask 時,啟動活動時會首先檢查返回棧中是否存在該活動,若有則使用並將在它之上的所有活動清出返回棧。若無則創建新的活動實例。
4. singleInstance
當活動的啟動模式為 singleInstance 時,啟動活動時會創建一個新的返回棧來管理該活動。這樣做的意義在於:假設我們的程式中有一個活動是允許其他程式調用的,如果我們想實現其他程式和我們的程式可以共用這個活動的實例,其他三種啟動模式是不可行的,因為每個應用程式都會有自己的返回棧,同一個活動在不同的返回棧中入棧時必然會創建新的實例。而在 singleInstance 模式下,會有一個單獨的返回棧來管理這個活動,不管是哪個應用程式來訪問該活動,都共用的同一個返回棧,故解決了共用活動實例的問題。