1. 程式人生 > >Activity的三種狀態和生命週期的七種方法

Activity的三種狀態和生命週期的七種方法

在理解activity前我們首先要搞清Application activity stack  Task。

Application可以理解為就是app

那麼手機中有很多app這些app啟動時可以理解為一個任務

在每個任務中都對應一個activity 的stack activity stack是用來儲存activity的

在stack中儲存很多activity

那麼在activity中有三大狀態

1 Resumed 可以理解為啟用狀態。在這個狀態中activity處於stack的最上端,此時activity可以與使用者進行互動。

2 Paused 當activity被另一個透明或者Dialog覆蓋時此時activity讓然可見但是失去了焦點 不能再進行點選

3 Stop 當activity被完全覆蓋時,失去焦點並不可見此時出去stop狀態

在說activity的生命週期

1 onCreate()這是必須要寫的方法,此方中主要是對activity進行ui的載入

2 onstart() 在onCreate()方法之後建立 用來顯示介面此時還不可以進行使用者的互動

3 onResume()在onstart()方法中後建立 可以與使用者進行互動 此時進入activity的第一個狀態 Resumed狀態即執行狀態。當paused被覆蓋返回時仍會呼叫該狀態

4 onpause() 當用戶進入透明的視窗時會被呼叫此時可以看見但是沒焦點,當因記憶體不夠會被kill掉此時會進入onResume狀態

5 onStop()當activity被整個覆蓋時進入該狀態 被記憶體kill掉時進入onRestart狀態

6 onRestart()當stop狀態返回時進入該介面,然後在進入onResume狀態

7onDestroy()狀態程式銷燬 結束。

異常情況下的activity生命週期

1 什麼情況下會發生activity的異常

(1)由於環境的改變而放生異常。比如說橫豎屏的切換

(2)資源不足導致低的優先順序Activity被殺死。

2 onSaveInstanceState和onRestoreInstanceState什麼時候呼叫

(1)當系統由於異常而導致activity被回收時會呼叫onSaveinstanceState和onRestoreinstanceState。

(2)當用戶按home鍵時在返回actiivty也會呼叫這兩個方法。注意按back鍵時不會呼叫這兩個方法。