Android Activity生命週期【圖文】

來源:互聯網
上載者:User

標籤:

1.整個周期的流程:

     1. onCreate( ) :當你第一次建立該activity時調用。你可以在這裡設定靜態代碼,建立View,           

            綁定資料到列表。

        1.1 onRestart ( ): 在你的activity處於onStop狀態後調用

             1.2onStart ( ):在這個activity正在變成可視化時

                 1.2.1 onResume ( ):這個activity的介面與使用者交流時(焦點位置)

                 1.2.2 onPause ( ):這個介面處於次級視角,不是焦點位置,仍然可見

             1.3onStop( ):處於不可見狀態。

     2. onDestroy(): 你調用了finish()方法銷毀了該activity,或者其他程式需要記憶體時,它被系統              

             自動銷毀了,你可以用isFinishing( )方法區分這兩種情況。

2.Actvity 堆棧

每個Actvity的狀態由它所在Activity棧中的位置所決定,所有當前正在啟動並執行Actvity將遵循照後進先出的原則。

3.Activity狀態

隨著Activity的建立和銷毀,也就會進出棧如所示,其中可能會經曆以下四種狀態:

   Active狀態:在最當前的位置,有焦點,系統會犧牲所有的資源套件括其他Activity(非active的)來保證它的運行。

   Paused狀態:並不是完全不見,只是一個小部分出現在前面上。

   Stopped 狀態:完全不可見,完全給遮蔽了當Activity處於Stopped狀態時,一定要儲存當前資料和當前的UI狀態,

                        否則一 旦Activity退出或關閉時,當前的資料         和UI狀態就丟失了。

   Inactive狀態:Activity被殺掉以後或者被啟動以前,處於Inactive狀態。這時Activity已被移除從Activity堆棧中,需要重新啟動才可以顯示和使用。

4.Task

   它是一個存放多個的Activity的棧。

   特點一:

      它是以棧(stack)方式存放多個Activity。

     

    特點二:

      多任務功能(MultiTask ):

           當使用者按下Home按鈕返回到最上面時,android可以將之前啟動的多個Task 

           同時放在後台,所有的Activity保持stopped狀態。除非記憶體不夠用時,才會

           銷毀部分的Activity 。

    特點三:

        

     如何保護好你的Activity的狀態(因為有可能,處於記憶體需要,系統將你的Activity銷毀了)

     以防這種情況,你應該在onSaveInstanceState() 裡儲存好該Activity的資訊。

       Activity被銷毀後,系統還是會記住它曾經在這個Task裡的位置。

        更多的Managing Tasks,可以去看docs,例如:如何讓Activity啟動另一個Task,而不是取代原有的Task ;

     如何讓Activity重新開啟一個存在Task底層下的某個Activity,而不是重新建立Activity;如何讓Activity

     銷毀一個Task下的所有Activity,除了最底層的Activity。

       這些操作都可以通過Activity的屬性(attribute),和Intent的flag去實現。

 

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.