Android開發藝術筆記

一.Activity 生命周期與啟動模式

  • 1.1 正常下的生命周期
    • 1.onCreate
    • 2.onRestart -> onStart
      從不可見到可見
    • 3.onStart
      從不可見到可見
    • 4.onResume
      從可見到可交互,
      onStart的時候Activity還在后臺,onResume的時候Activity才到前臺
    • onPause
      存儲狀態(數據),輕量級回收
      因為當新的Activity要啟動時候,會先調用舊的Activity的onPause后再啟動新Activity的onPause
    • onStop
      即將變為不可見,重量級回收
    • onDestroy
      表示Activity被銷毀,做資源釋放
    • 注意:
      如果新Activity采用透明主題,當前Activity不會調用onStop
  • 1.2 異常下的生命周期
    • 1.原因
      當系統資源不足或者配置發生改變的時候
    • 2.當Activity被殺死重建后
      被殺死Activity為A 新Activity為B (以下都采用A B代替)
      調用方法 A.onSaveInstanceState() -> B.onRestoreInstanceState()
      官方推薦 在onRestoreInstanceState 中恢復Activity的狀態
      同時,正常情況下不會調用 onRestoreInstanceState
    • 3.原理
      當Activity被意外殺死時,調用onSaveInstanceState()保存數據,
      然后委托Window去保存數據,Window再拜托頂級容器,頂級容器再拜托子元素保存
    • 4.當內存不足導致Activity被殺死
      當內存不足時會按照:
      1.前臺Activity 2.可見非前臺 3.后臺的順序殺死Activity 回收資源
      所以,后臺工作盡量放在Service中運行.
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容