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