Android建立活動筆記三
阿新 • • 發佈:2018-12-12
1.活動的啟動模式
啟動模式有四種,standard,singleTop,singleTask,singleInstance,可以在AndroidManifest.xml中通過<activity>標籤,指定android:launchMode屬性來選擇啟動模式
1.1standard
standard是預設的啟動方式,在standard模式下,每當啟動一個新的活動,它就會在返回棧中入棧,並處於棧頂的位置,系統並不在乎這個活動是否已經在棧中存在,每次啟動都會建立該活動的一個新的例項。
1.2singleTop
當活動的啟動模式為singleTop的時候,在啟動活動的時候發現返回棧的棧頂已經是該活動,則認為可以直接使用它,不會再建立新的活動例項。
1.3singleTask
使用singleTop模式,可以解決重複建立棧頂活動的問題,但如果該活動並沒有處於棧頂的位置,還是可能會建立多個活動例項的,而使用singleTask模式來實現,當活動的啟動模式指定為singleTask,每次啟動該活動的時候系統會首先會在返回棧中檢查是否竄在該活動的例項,如果發現已經存在該例項的話,就直接使用該例項,並把在這個活動之上的所有活動統統出棧。如果沒有發現就建立一個新的例項。
1.4singleInstance
指定為singleInstance模式的活動會啟用一個新的返回棧來管理這個活動(其實如果singleTask模式指定了不同的taskAffinity,也會啟動一個新的返回棧)