onSaveInstanceState调用时机

当某个Activity变得容易被系统销毁时,该Activity的onSaveInstanceState函数就会被执行,除非该Activity是被用户主动销毁的,如当用户按back键时。

意思是说,该Activity还没又被销毁,而仅仅是一种可能性,这种可能性有这么几种情况:

1.当用户按下Home键时;

2.长按Home键,选择运行其他的程序时;

3.按下电源键(关闭屏幕显示)时;

4.从Activity A启动一个新的Activity时;

5.屏幕方向切换时,如从横屏切换到竖屏;

6.电话打入等情况发生时;

一句话概括就是,不是用户主动退出某个Activity或者跳转到其他Activity的情况下就会触发onSaveInstanceState.换句话说,onSaveInstanceState()的调用遵循一个重要原则,即当系统存在“未经你许可”时销毁了我们的Activity,则onSaveInstanceState()会被系统调用,这是系统的职责,因为它必须要提供一个机会让用户保存数据。

————《Android设计模式解析与实战 》 257

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值