Activity的生命週期

2021-06-29 09:51:24 字數 1466 閱讀 4367

一,生命週期圖

二,幾點說明

1,每乙個活動的activity 都處於某乙個狀態,對於開發者來說,是無法控制其應用程式處於某乙個狀態的,這些均由系統來完成。

2,但是當乙個活動的狀態發生改變的時候,開發者可以通過呼叫 onxx() 的方法獲取到相關的通知資訊。

三,幾大方法

1,oncreate :activity第一次被例項化的時候系統會呼叫,整個生命週期只呼叫1次該方法。

通常用於初始化設定: 1、為activity設定所要使用的布局檔案。2、為安卓控制項繫結***等靜態的設定操作。

2,onstart

(可見不可互動)

:當activity可見未獲得使用者焦點不能互動時系統會呼叫。

3,onresume

(可見可互動)

:當activity和使用者發生互動的時候,觸發該方法。

4,onpause

(有一點可見不能互動)

:當乙個正在前台執行的activity因為其他的activity需要前台執行而轉入後台執行的時候,觸發該方法。

5,onstop

(不可見不能互動)

:當activity被其他的activity完全覆蓋不可見時,觸發該方法,如果記憶體緊張,系統會直接結束這個activity,而不會觸發 onstop 方法。

6,onrestart(由不可見到可見):當處於停止狀態的activity需要再次展現給使用者的時候,觸發該方法。

7,ondestroy :當activity(使用者呼叫finish()或系統由於記憶體不足)被系統銷毀時呼叫,(整個生命週期只呼叫1次)用來釋放oncreate ()方法中建立的資源,如結束執行緒,清空資料,登出廣播等。和 onstop 方法一樣,如果記憶體緊張,系統會直接結束這個activity而不會觸發該方法。

四,儲存資料和提取資料

因為onstop和ondestroy 都有可能因為系統記憶體緊張而不執行,所以建議儲存資料的方法就是肯定會執行的onpause

一般在onpause()方法裡面儲存資料,在onresume()裡面提取資料。

a、儲存資料

//暫停:onstart()->onresume()->onpause()

@override

protected

void onpause(

)b、提取資料

//重啟:onstart()->onresume()

@override

protected

void onresume()}

五,**(簡單的兩個activity看看方法的執行順序什麼的)

Activity生命週期

oncreate 設定activity所使用的布局檔案 按鈕繫結 等靜態設定操作 onstart 該activity能被我們看到的時候就會呼叫onstart onresume 能夠獲得使用者焦點 onpause 啟動另外乙個activity的時候就會呼叫第乙個activity的該方法 onstop ...

activity生命週期

乙個activity的啟動順序 oncreate onstart onresume 當另乙個activity啟動時 第乙個activity onpause 第二個activity oncreate onstart onresume 第乙個activity onstop 當返回到第乙個activity...

Activity 生命週期

activities 在系統中是以 activity 棧的形式被管理的。當乙個新的 activity 啟動時,它將會被放到棧的頂部並變成 running activity 上乙個activity 會被至於它的下面,在新 activity 存在期間它都不會到前端來。乙個 activity 有四個重要的...