onCreate()
- 聲明UI元素,定義成員變量,配置UI等
- 儘量少做些事,避免程序啓動太久而看不見界面
- 一旦
onCreate()
操作完成,系統會迅速調用onStart()
與onResume()
方法
onDestoty()
- 需要將該activity徹底移除的信號時,系統會調用這個方法
- 大多數app並不需要實現
onDestory()
這個方法,由於局部類references會隨activity的銷燬而銷燬 - 我們的activity應該在
onPause()
,onStop()
中執行清除activity資源的操作 - 如果含有
onCreate()
中創建的後臺線程,或是其他有可能導致內存泄漏的的資源,應在onDestory()
中清理資源 - 在
onCreate()
中,直接調用finish()
方法,系統會直接調用onDestory()
方法,跳過其他的聲明週期
onPause()
- 停止動畫或其他運行的的操作,那些都會導致cpu浪費
- 提交用戶離開時期保存的內容(例如郵箱草稿)
- 釋放系統資源,Camera,Broadcast Receiver,sensors(傳感器,比如GPS) ,以及任何其他影響電量的資源
- 不應該保存用戶數據到永久存儲上 (File或Db中)
- 儘量減少
onPause()
中的工作量避免切換到下一個activity變得緩慢
onResume()
- 恢復activity時,應該初始化那些
onPause()
釋放掉的組件 - 執行那些activity每次進入resume state 都需要進行初始化的動作
onStop()
- 應該釋放那些不再需要的所有資源,避免內存泄漏,
onStop()
後系統會在需要內存空間時摧毀它的實例 - 使用onStop()來執行那些CPU intensive的shut-down操作,例如往數據庫寫信息
- 系統會保存佈局中視圖的當前狀態,例如,可以保存EditText中的文本內容
onStart()
- 在
onStop()
中裏面做了那些清除的操作,就應該做instant中把那些清除掉的資源重新創建出來