Activity聲明週期中七個回調方法中應該做的事情

1、onCreate:

當activity第一次創建時調用.這裏應該完成所有靜態資源的建立, 比如使用setContentView(int)和佈局資源定義你的UI視圖, 使用findViewById(int)取出程序中需要交互的控件, 綁定數據. 此時視圖還不存在,無法調用動畫等.
還有需要注意, 每次activity啓動, 不一定都會調用這個函數. 噹噹前activity只是被覆蓋一部分, 當前activity再次可交互時,是隻調用onResume方法, 不會調用onCreate方法.

2、onStart:

這個方法在活動由不可見變爲可見的時候調用。這裏是activity對用戶是否可見的最好的指示器。

3、onResume:

這個方法在活動準備好和用戶進行交互的時候調用。可以在這裏打開獨佔設備,如相機,在onPause中釋放.

4、onPause:

這個方法在系統準備去啓動或者恢復另一個活動的時候調用。在這裏系統將要離開當前Activity, 恢復其他activity. 用戶在程序裏做的任何改變都應該在此刻提交(通常用ContentProvide來保存數據). 還有需要在這裏停止動畫和其他耗費CPU的事件來確保轉換到下一個activity的流暢度.
請記住:這個方法的實現必須很快完成, 不能佔用太多時間, 因爲在這個方法完成之前, 下一個activity不會恢復. 如果這個方法耗時較長, 就會影響用戶體驗. 如果對應的onPause()在500ms內還沒有執行完,ActivityManagerService就會強制關閉這個Activity.
另外一個請記住的是:如果當前activity擁有獨佔資源(比如相機), 必須在這裏釋放, 以免在下一個activity中需要用到.

5、onStop:

這個方法在活動完全不可見的時候調用。
請注意: 在內存不足而導致系統無法保留此進程的情況下, onStop() 可能不會被執行。

6、onDestroy:

這個方法在活動被銷燬之前調用,之後活動的狀態將變爲銷燬狀態。

7、onRestart:

這個方法在活動由停止狀態變爲運行狀態之前調用。

說明:

幾乎所有Activity的子類,都會實現onCreate和onPause這兩個方法.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章