Activity的生命週期方法

2022-05-13 14:31:18 字數 1112 閱讀 8178

android提供了很多activity的生命週期方法,比如我們常用的oncreate、onpause、onresume等。這裡主要介紹粗粒度的週期方法,諸如onpostcreate、onpostresume等

這些細粒度的週期方法可以參考android的api文件,在你需要更細層次的控制的時候可以使用這些細粒度的方法。粗粒度的週期方法有以下幾個:

oncreate()、onstart()、onresume()、onpause()、onstop()、ondestroy(),從名字上就可以看出來這些方法在什麼時候執行。

乙個activity在啟動的時候會執行oncreate()->onstart()->onresume(),在結束(或離開)的時候會執行onpause()->onstop()->ondestroy(),這就是乙個activity的生命週期。

因此我們要在oncreate方法裡把activity的需要的東西準備好,也就是初始化;在onresume裡對activity裡的東西做一些調整;在onpause做一些清理和儲存工作(儲存持久狀態),因為這是最後的

機會,因為onpause完成之前android不會結束託管activity類的程序,而之後程序可能被結束。總結一下這幾個週期方法的作用:

oncreate():建立activity呼叫,用於activity的初始化,還有個bundle型別的引數,可以訪問以前儲存的狀態。

onstart():activity在螢幕上對使用者可見時呼叫

onresume():activity開始和使用者互動的時候呼叫,這時該activity是在activity棧的頂部。

onpause():activity被暫停時呼叫,也就是你要對你能看到的這個activity說byebye的時候呼叫,這裡可以做一些清理和儲存工作

onstop():activity被停止或者activity變成不可見時呼叫

ondestroy():activity被從記憶體中移除,一般發生在執行finish方法時或者android**記憶體的時候

好了,最後讓我們看乙個api提供的activity的狀態圖吧,看了他相信你對activity的生命週期會更了解,如下圖:

Activity的生命週期方法

oncreate 當activity第一次啟動時呼叫 onrestart 當activity呼叫onstop之後重新被使用者可見時呼叫 onstart 當oncreate 之後呼叫,或onrestart 之後呼叫 onresume 當onstart 之後呼叫,或onpause 之後重新被置入前台時被...

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...