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

來源:互聯網
上載者:User

標籤:des   android   cWeb   style   http   color   io   os   ar   

 

  • 什麼是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就是暫停狀態。

          

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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.