Android中,Activity是四大組件之一,中文翻譯為“活動(dòng)”;一個(gè)Activity通常就是一個(gè)用戶能看到的單獨(dú)的屏幕,理解為“窗口”比較貼切。每一個(gè)Activity都被實(shí)現(xiàn)為一個(gè)獨(dú)立的類,并且繼承于Activity這個(gè)基類。Activity主要用于處理應(yīng)用程序的整體性工作。例如,監(jiān)聽(tīng)系統(tǒng)事件(按鍵事件、觸摸事件),為用戶顯示指定的View,啟動(dòng)其他的Activity類。
Activity 的四種基本狀態(tài):
Active/Runing一個(gè)新 Activity 啟動(dòng)入棧后,它在屏幕最前端,處于棧的最頂端,此時(shí)它處于可見(jiàn)并可和用戶交互的激活狀態(tài)。
Paused 當(dāng) Activity 被另一個(gè)透明或者 Dialog 樣式的 Activity 覆蓋時(shí)的狀態(tài)。此時(shí)它依然與窗口管理器保持連接,系統(tǒng)繼續(xù)維護(hù)其內(nèi)部狀態(tài),所以它仍然可見(jiàn),但它已經(jīng)失去了焦點(diǎn)故不可與用戶交互。
Stoped 當(dāng) Activity 被另外一個(gè) Activity 覆蓋、失去焦點(diǎn)并不可見(jiàn)時(shí)處于 Stoped狀態(tài)。
Killed Activity 被系統(tǒng)殺死回收或者沒(méi)有被啟動(dòng)時(shí)處于 Killed狀態(tài)。
當(dāng)一個(gè) Activity 實(shí)例被創(chuàng)建、銷毀或者啟動(dòng)另外一個(gè) Activity 時(shí),它在這四種狀態(tài)之間進(jìn)行轉(zhuǎn)換,這種轉(zhuǎn)換的發(fā)生依賴于用戶程序的動(dòng)作。
Activity在內(nèi)存中的存在形式: 棧
Android 是通過(guò)一種 Activity 棧的方式來(lái)管理 Activity 的,一個(gè) Activity 的實(shí)例的狀態(tài)決定它在棧中的位置。處于前臺(tái)的 Activity 總是在棧的頂端,當(dāng)前臺(tái)的 Activity 因?yàn)楫惓;蚱渌虮讳N毀時(shí),處于棧第二層的 Activity 將被激活,上浮到棧頂。當(dāng)新的 Activity 啟動(dòng)入棧時(shí),原 Activity 會(huì)被壓入到棧的第二層。一個(gè) Activity 在棧中的位置變化反映了它在不同狀態(tài)間的轉(zhuǎn)換
【北大青鳥(niǎo)深圳嘉華】