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

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)

分享創造快樂