Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android四大組件之——Activity(一)定義、狀態和後退棧(圖文詳解)

Android四大組件之——Activity(一)定義、狀態和後退棧(圖文詳解)

編輯:關於Android編程

什麼是Activity       關鍵字:應用組件、四大組件、用戶界面,交互。   An Activity is an application component that provides a screen with which users can interact in order to do something         每個Android應用打開,一般都有界面與用戶進行交互,以完成輸入,輸出等一些功能。提供這個功能的就是Android四大組件之一,Activity。         Activity提供一個窗口描繪了用戶界面,窗口的大小可以是:全屏窗口,浮動的窗口,嵌入在其他Activity裡面(使用ActivityGroup)。            一個應用一般包含多個Activity,每個Activity都被設計圍繞著用戶能執行的特定種類的action,也能開啟其他的Activity。        如下圖所示,Chrome應用中的Activity。                                                    Activity與後退棧(back stack)         用戶打開的activity都被安排進了一個棧(後退棧,back stack,符合後進先出原則"First in Last out")。                當當前activity開啟另一個activity,新的activiy壓入棧頂並且獲得焦點。先前的activity依然在棧裡,但是是停止的。系統保留了它用戶界面當前的狀態。           當用戶按返回按鈕時,當前的activity從棧頂彈出(activity被銷毀destroyed),之前的Activity恢復(恢復先前保存的用戶界面狀態)。           棧中的activity永遠不會重新排列。只會從棧中壓入和彈出                壓入:用戶從當前Activity開啟到另一個Activity                彈出:用戶按返回鍵離開當前Activity。               下圖展示了                     用戶依次打開Activity1、Activity2、Activity3,然後按返回鍵離開Activity3返回Activity2                後退棧的情況的示意圖。            Activity的幾種狀態         1.Resumed(或running):運行狀態              activity在屏幕前台,並且有用戶焦點。           2.Paused:暫停狀態              另一個activity在前台並且有用戶焦點。但是這個activity仍然可見(visible)。              另一個Activity在這個Activity上面,它部分透明或是沒有覆蓋整個屏幕。              一個暫停狀態的activity完全是alive的(Activity對象保存在內存中,它保留著所有的狀態和成員信息,依然附屬於(attached to)window manager),但是在極其低存儲空間的情況下會被系統殺掉。            3.Stopped:停止狀態                         activity完全被其他activity遮蔽(現在在後台)。               一個停止的activity也是alive的(Activity對象保存在內存中,它保留著所有的狀態和成員信息,但是沒有附屬於(attached to)window manager)對用戶不再可見,當內存在別處需要時,它隨時可能被殺掉。                  下面這張圖很好的描述了Activity的運行和暫停這兩種狀態。                                        second Activity是運行狀態,但是它沒有覆蓋整個屏幕,而之前的那個Activity就是暫停狀態。              (4.Killed:死亡狀態)              Activity被系統殺死回收占用的資源,或沒有啟動。             官方文檔是說的Activity三種狀態,沒有最後這種。便於理解,加上了killed狀態。
  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved