1.standard 系統的預設模式 在
standard
模式(即預設情況)下,每當啟動乙個新的活動,它就會在返回棧中入棧,並處於棧頂的位置。對於使用
standard
模式的活動,系統不會在乎這個活動是否已經在返回棧中存在,每次啟動都會建立該活動的乙個新的例項。
2.singletop 當活動的啟動模式
指定為
singletop
,在啟動活動時如果發現返回棧的棧頂已經是該活動,則認為可以直接使用
它,不會再建立新的活動例項。但是當前活動如果不在棧頂,還是會重新建立活動的。
3.singletask
當活動的啟動模式指定為
singletask
,每次啟動該活動時系統首先
會在返回棧中檢查是否存在該活動的例項,如果發現已經存在則直接使用該例項,並把在這
個活動之上的所有活動統統出棧,如果沒有發現就會建立乙個新的活動例項。
4. singleinstance
指定為
singleinstance
模式的活動會啟用一
個新的返回棧來管理這個活動(其實如果
singletask
模式指定了不同的
taskaffinity
,也會啟
動乙個新的返回棧)
圖中的活動2 就新開了活動棧
按下 back
鍵進行返回, 發現
thirdactivity
直接返回到了
firstactivity
,再按下
back
鍵又會返回到
secondactivity
,再按下
back
鍵才會退出程式,這是為什麼呢?
其實原理很簡單,由於
firstactivity
和 thirdactivity
是存放在同乙個返回棧裡的,當在
thirdactivity
的介面按下
back
鍵,thirdactivity
會從返回棧中出棧,那麼
firstactivity
就成為了棧頂活動顯示在介面上,因此也就出現了從
thirdactivity
直接返回到
firstactivity
的情況。然後在
firstactivity
介面再次按下
back
鍵,這時當前的返回棧已經空了,於是就顯示了
另乙個返回棧的棧頂活動,即
secondactivity
。最後再次按下
back
鍵,這時所有返回棧都已
經空了,也就自然退出了程式
安卓基礎知識01 2019 09 04
在android的layout資料夾下的.xml檔案中,開頭有一條配置語句 xmlns android 1 整句話的作用是宣告命名空間的引用。2 xmlns是xml namespace的縮寫,意思是xml命名空間。3 xmlns android中的android是給引用起的名字,這樣就可以用andr...
Android基礎知識 Activity
activity概念 作為四大元件之一,一般乙個使用者互動介面對應乙個activity。乙個應 用至少包含乙個activity。activity是context的子類,同時實現了window.callback和keyevent.callback,可以處理與窗體使用者互動的事件。activity生命週...
安卓中管理Activity
安卓中一般在baseactivity 管理所有的activity 因為所有的activity 繼承自baseactivity 步驟 1 在baseactivity new 乙個arraylist 儲存activity private listallactivity new arraylist 2.寫...