1. 程式人生 > >【Android】 Activity Lifecycle

【Android】 Activity Lifecycle

1.前言

之前面試過程中,被問到過Activity Lifecycle的相關知識,答的不好,所以今天特意總結學習一下。

2.Activity Lifecycle圖解

3.生命週期中的六個階段

一個完整的Activity Lifecycle包括六個階段,在實際中即為六個方法:onCreate(),onStart(),onResume(),onPause(),onStop(),onDestroy().

  • onCreate()方法——Activity首次建立時最先被呼叫的方法,在Activity的一個完整生命週期中,此方法只會被呼叫一次。在開發過程中,我們一般需要使用setContentView(int)方法來初始化UI,對UI等進行資料繫結等操作。
  • onStart()方法——onCreate()方法執行後被呼叫的方法,其一般和onStop()一起組成visible lifetime的起始和終止階段。在此階段,使用者對這個Activity是可見的但是不會獲得焦點。
  • onResume()方法——onStart()方法執行後被呼叫的方法,它和onStop()方法一起組成 foreground lifetime。此方法執行完成後,Activity可以獲得使用者的焦點,執行相應的方法。
  • onPause()方法——當我們呼叫startActivity(Intent)等方法啟動另一個Activity,且新Activity的onCreate()方法呼叫之前會被呼叫的方法,當前Activity會呼叫此方法,使用者對這個Activity將不可見。在此方法中,我們需要可以執行一些用來儲存持久化資料,停止動畫,關閉一些耗時操作等的方法。這是啟動一個新的Activity時一定會呼叫的方法。
  • onStop()方法——此方法呼叫之後,我們將對這個Activity不再可見,所以如果新啟動的Activity是一個全屏不透明的Activity時,這個方法將會被呼叫。
  • onDestroy()——此方法一般是顯示呼叫finish()方法或者被系統強制銷燬時,被呼叫的方法。這也是Activity生命週期的最後一個階段。

4.例項說明

1.啟動一個Activity的過程時

2.從一個Activity進行另外一個Dialog或者透明樣式的Activity時

3.從一個Dialog或透明樣式的Activity返回到之前的Activity(使用Back鍵或顯示呼叫finish()方法)時

4從一個Activity跳轉到普通的Activity時

5.從普通Activity返回到之前的Activity時

6.按Home鍵時

7.按Back鍵時

8.螢幕旋轉