onSaveInstanceState()以及onRestoreInstanceState()的理解

  • Activity完整的生命週期 生命週期

  •  onCreate() --> onStart() --> onRestoreInstanceState() --> onResume() -->onSaveInstanceState() --> onPause() --> onStop() --> onDestroy() 進程

  • 有關onSaveInstanceState以及onRestoreInstanceState這兩個方法咱們都知道是用於Activity銷燬和重建時數據的保存。 內存

  • Back鍵或者是調用finish()方法去主動銷燬Activity時,這時候系統會認爲是咱們再也不須要該Activity,系統不會執行onSaveInstanceState。

  • Home鍵直接將程序後臺,這時候系統會執行onSaveInstanceState()這時候系統知道不是你不須要這個Activity只是後臺了。

  • 此時咱們喚醒應用,不會執行onRestoreInstanceState這個方法,由於咱們後臺再喚醒後該Activity並無銷燬重建,因此這時候就不會去調用onRestoreInstanceState。

  • Home鍵會執行onSaveInstanceState,而後系統因爲內存不足將進程殺死了,這時候系統就感受本身作的不對,要給你恢復狀態,當咱們再次啓動程序的時候就會執行onRestoreInstanceState這個方法來給咱們恢復數據。

  • 在默認的Activity中,若是進行橫豎屏切換的時候系統會銷燬而且從新建立Activity,這時候系統就會執行onSaveInstanceState以及onRestoreInstanceState,由於這是系統把Activity給銷燬了,系統要負責就執行這兩個方法來給你保存和恢復數據。
相關文章
相關標籤/搜索