位置: 编程技术 - 正文

onSaveInstanceState和onRestoreInstanceState触发的时机

编辑:rootadmin
当某个activity变得“容易”被系统销毁时,该activity的onSaveInstanceState就会被执行,除非该activity是被用户主动销毁的,例如当用户按BACK键的时候。 注意上面的双引号,何为“容易”?言下之意就是该activity还没有被销毁,而仅仅是一种可能性。这种可能性有哪些?通过重写一个activity的所有生命周期的onXXX方法,包括onSaveInstanceState和onRestoreInstanceState方法,我们可以清楚地知道当某个activity(假定为activity A)显示在当前task的最上层时,其onSaveInstanceState方法会在什么时候被执行,有这么几种情况: 1、当用户按下HOME键时。 这是显而易见的,系统不知道你按下HOME后要运行多少其他的程序,自然也不知道activity A是否会被销毁,故系统会调用onSaveInstanceState,让用户有机会保存某些非永久性的数据。以下几种情况的分析都遵循该原则 2、长按HOME键,选择运行其他的程序时。 3、按下电源按键(关闭屏幕显示)时。 4、从activity A中启动一个新的activity时。 5、屏幕方向切换时,例如从竖屏切换到横屏时。 在屏幕切换之前,系统会销毁activity A,在屏幕切换之后系统又会自动地创建activity A,所以onSaveInstanceState一定会被执行。 总而言之,onSaveInstanceState的调用遵循一个重要原则,即当系统“未经你许可”时销毁了你的activity,则onSaveInstanceState会被系统调用,这是系统的责任,因为它必须要提供一个机会让你保存你的数据(当然你不保存那就随便你了)。 至于onRestoreInstanceState方法,需要注意的是,onSaveInstanceState方法和onRestoreInstanceState方法“不一定”是成对的被调用的,onRestoreInstanceState被调用的前提是,activity A“确实”被系统销毁了,而如果仅仅是停留在有这种可能性的情况下,则该方法不会被调用,例如,当正在显示activity A的时候,用户按下HOME键回到主界面,然后用户紧接着又返回到activity A,这种情况下activity A一般不会因为内存的原因被系统销毁,故activity A的onRestoreInstanceState方法不会被执行。

推荐整理分享onSaveInstanceState和onRestoreInstanceState触发的时机,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

onSaveInstanceState和onRestoreInstanceState触发的时机

另外,onRestoreInstanceState的bundle参数也会传递到onCreate方法中,你也可以选择在onCreate方法中做数据还原。

Android Volley框架的使用(三) Volley框架的学习马上就可以杀青了,哈哈,有木有点小激动呢,之所以将这个框架分成三篇来写,而且涉及的细节比较多,是因为考虑到后面还要学习

欢迎使用CSDN-markdown编辑器 Android项目实训记录(一)学校里来了某某IT培训机构(为了避免广告嫌疑,就不曝名字了)的讲师来为我们进行实训,对于我这种从未接触过正规项目

自定义ListView使用Volley获取数据 这是作为Volley框架使用的练习,如果对Volley框架的使用还不太熟悉,建议先看前三篇文章:AndroidVolley的使用(一)AndroidVolley的使用(二)AndroidVolley的

标签: onSaveInstanceState和onRestoreInstanceState触发的时机

本文链接地址:https://www.jiuchutong.com/biancheng/382294.html 转载请保留说明!

上一篇:Android之Adapter用法总结(安卓中adapter)

下一篇:Android Volley框架的使用(三)(androidmvvm框架)

  • 什么是税法要素
  • 网上代增值税专用发票流程
  • 全年一次性奖金税率表
  • 残次品销售账务处理
  • 发票专用章盖在收据上有法律效益
  • 小规模企业发生了增值税,如何计提附加税
  • 小规模纳税人生活服务业免征增值税
  • 私企招残疾人可以辞职吗
  • 房地产企业如何进行市场细分
  • 外商投资企业采取发包、出租经营
  • 会计凭证在设计中应遵循的设计原则
  • 个人住房转让纳税标准
  • 本年利润是负数的会计分录
  • 盘亏设备一台
  • 农副产品税率及范围
  • 公司按月工资怎么算
  • 人工智能对财务人员的挑战与机遇
  • 本月没有发生额本月合计
  • 微信认证服务费可以开发票吗
  • 出售已使用五年的住房有税收优惠吗?
  • 旧机器设备出口
  • 戴尔r710服务器系统安装详解
  • win7绝地求生帧数不稳定
  • 年薪制职工薪酬计算方法
  • Linux怎么修改账户名
  • 行政事业单位预算由收入预算、支出预算组成
  • wordpress app怎么用
  • 其他应付款余额在借方表示什么意思
  • 社保和公积金个人缴纳在哪里查看
  • 特斯拉 ai day
  • vue路由守卫用法
  • 预付账款年底怎样结转
  • 会计利润表计算公式
  • 企业将存款汇往异地银行
  • 上个月的票这个月作废后报增值税需不需要交费?
  • 营改增后工程分包财务
  • css设置旋转动画
  • 销售费用变动率异常
  • 当期进项加计额怎么填
  • 发票含税和不含税的区别
  • sql server触发器的作用
  • sql server简单查询
  • 职工教育经费可以冲回吗
  • 金税盘维护费应该计入什么科目
  • 增值税发票的抵扣期限
  • 收到银行电子汇票已入账怎么做账
  • 小微企业享受免税吗
  • 去年出口
  • 高温补贴纳税
  • 在防控新型冠状病毒肺炎期间经营者违反价格法
  • 负数发票作废后对原发票有影响吗
  • 减少实收资本会影响资产吗
  • 暂估入库怎么处理
  • 保险的理解
  • 企业对财会人员的要求
  • 企业注销未分配是从注册开始吗
  • 非营利医疗机构由谁批准
  • 基于Sql Server通用分页存储过程的解决方法
  • mybatis怎么搭建
  • windows勒索病毒溯源
  • windows media player播放不了mp4
  • slserve.exe - slserve是什么进程
  • xp开机启动项在哪里设置方法
  • centos6.5无法启动
  • macos vmware
  • ssh用法及命令
  • 权作记录 cocos2dx
  • android判断横竖屏
  • bat批处理删除
  • 显示某两个字符的函数
  • javascript教程推荐知乎
  • unix linux
  • python正则批量替换字符串
  • jquery网页跳转
  • u3d地形编辑贴图
  • android应用层是什么
  • 交通运输业的税率9%和13%
  • 西安车位过户需要多少费用
  • 上海税务门户网站
  • 非盈利org
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设