Android生命週期該做的事

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中把那些清除掉的資源重新創建出來
發佈了34 篇原創文章 · 獲贊 0 · 訪問量 5426
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章