Android提供了很多Activity的生命周期方法,比如我們常用的onCreate、onPause、onResume等。這里主要介紹粗粒度的周期方法有以下幾個:
onCreate()、onStart()、onResume()、onPause()、onStop()、onDestroy(),從名字上就可以看出來這些方法在什么時候執行。諸如onPostCreate、onPostResume等細粒度的周期方法可以參考Android的API文檔,在你需要更細層次的控制的時候可以使用這些細粒度的方法。
一個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回收內存的時候