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给销毁了,系统要负责就执行这两个方法来给你保存和恢复数据。

你可能感兴趣的:(onSaveInstanceState()以及onRestoreInstanceState()的理解)