1. 程式人生 > >【Android歸納】Activity啟動模式

【Android歸納】Activity啟動模式

1、對於使用standard 模式的活動,系統不會在乎這個活動是否已經在返回棧中存在,每次啟動都會建立
該活動的一個新的例項。
例如A啟動A,A再接著啟動A,A繼續啟動A,然後再分別出棧,如圖所示
2、當活動的啟動模式指定為 singleTop,在啟動活動時如果發現返回棧的棧頂已經是該活動,則認為可以直接使用
它,不會再建立新的活動例項。

3、當活動的啟動模式指定為 singleTask,每次啟動該活動時系統首先會在返回棧中檢查是否存在該活動的例項,
如果發現已經存在則直接使用該例項,並把在這個活動之上的所有活動統統出棧,如果沒有發現就會建立一個新的活動例項。

4、使用singleInstance 模式就可以解決這個問題,在這種模式下會有一個單獨的返回棧來管理這個活動,
不管是哪個應用程式來訪問這個活動,都共用的同一個返回棧,也就解決了共享活動實例的問題。 假設B啟動A,A啟動C,其中A的啟動模式為singleInstance,則:
返回的頁面順序是C-B-A 相關連結: