歡迎光臨
每天分享高質量文章

Activity生命週期詳解二

上一篇總體講解了Activity的生命週期的一些方法,這篇來結合一些特定的使用場景來分析下Activity的生命週期。

  • 首次啟動

onCreate –> onStart –> onResume

  • 按下傳回按鍵

onPause –> onStop –> onDestroy

  • 按Home鍵

onPause –> onStop

  • 再次開啟

onRestart –> onStart –> onResume

  • 螢幕旋轉

如果你不做任何配置


啟動Activity會執行如下方法:

onCreate –> onStart –> onResume

之後旋轉螢幕,則Activity會被銷毀並重新建立,之後便會執行如下方法:

onPause –> onSaveInstanceState –> onStop –> onDestroy –> onCreate –> onStart –> onRestoreInstanceState –> onResume

在AndroidManifest配置檔案裡宣告android:configChanges屬性

預設螢幕旋轉會重新建立,當然可以透過在配置檔案裡加上如下程式碼:

android:configChanges=”keyboardHidden|orientation|screenSize”(sdk>13時需加上screenSize)

這個時候再旋轉螢幕便不會銷毀Activity,這時候再旋轉螢幕可以看到只會執行onConfigurationChanged方法,有什麼在螢幕旋轉的邏輯可以重寫這個方法:

  • FirstActivity開啟SecondActivity

FirstActivity開啟SecondActivity,這時候FirstActivity生命週期的方法是這樣的: onPause –> onSaveInstanceState –> onStop, 這個時候在SecondActivity按傳回鍵,FirstActivity會有以下集中情況:

  • 正常情況下會執行: onRestart -> onStart -> onResume

  • 當系統由於要回收記憶體而把 activity 銷毀時

Activity在onPause或者onStop狀態下都有可能遇到由於突發事件系統需要回收記憶體,之後的onDestroy方法便不會再執行,這時候會執行: onCreate –> onStart –> onRestoreInstanceState –> onResume

點選”閱讀原文“即可檢視我的部落格主頁,大家如果覺得對你有幫助的話,不妨推薦身邊的朋友關註此賬號,如果有什麼建議或者推薦的可直接留言給我。

贊(0)

分享創造快樂