销毁和重建数据时执行的方法

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

转载于:https://www.cnblogs.com/huangzx/p/4465561.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值