安卓activity的基礎知識

2021-07-26 19:33:32 字數 1476 閱讀 9800

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.寫...