位置: 编程技术 - 正文

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框架)

  • 所得税汇算清缴调整项目
  • 现代服务是可以做什么的
  • 关于办理退税手续的通知
  • 红字发票注明的进项税额转出
  • 企业的免税收入用于支出所形成的费用
  • 财务软件属于无形资产的哪一种
  • 特殊性税务处理所得税怎么算
  • 跨地区经营企业代码表从哪里找
  • 企业资产永久或实质性损害如何进行所得税处理
  • 营改增行业的销售额
  • 房屋租赁发票在哪开
  • 企业房产税如何申报缴纳
  • 企业所得税季报和年报的区别
  • 运输企业营改增
  • 工资不在本公司发票报销可以吗?
  • 物流公司零税率发票是怎么回事?
  • 递延所得税资产和负债怎么理解
  • etc在充值后未索取可以再次索取吗
  • 建筑业预缴税款怎么退税
  • 出口信用证议付支出是什么
  • 定期定额征收的个体户怎么报税
  • 进项税额转出是负数是什么意思
  • 浅谈linux的发展方向和应用范围
  • 如何禁止远程
  • 公司过年买的鞭炮可以入账吗
  • 默认网关不可用怎么修复
  • ihs.exe是什么
  • php转换字符编码
  • php多图片上传到数据库
  • 公允价值模式的特点
  • php 7.4
  • fdisk cfdisk
  • mysql 长事务
  • 融资租赁的利息进项税可以抵扣吗
  • 为什么社保卡里有钱
  • 委托加工代收代缴消费税分录
  • mongodb进阶与实战下载
  • sqlcode错误码100
  • css样式居中
  • 扣除公积金分录
  • sqlserver远程连接失败
  • mysql select语句操作实例
  • 以前年度损益调整结转到哪里
  • 增值税专用发票查询系统官方网站
  • 汇款汇给别人了应该怎么办
  • 资本公积 转增
  • 应收账款周转速度快表明
  • 公司班车费用如何入账
  • 销售奖金交税由谁承担
  • 管理费用怎样分摊归集到产品
  • 农产品收购发票如何抵扣进项税
  • 出库单上面的单位写谁的
  • 推广费计入哪个科目
  • 申报和做账必须一致吗
  • 药品进销差价的计算公式是什么
  • 会计做账的凭据怎么写
  • 库存现金过多的隐患
  • Windows10安装net3.5
  • WINDOWS操作系统内置的GUEST
  • xp系统打印任务一闪就没有了
  • 控制面板中的添加和删除在哪里
  • Mac系统怎么设置开机密码
  • win10开机蓝屏提示修复
  • unity udim
  • jquery技巧
  • python爬虫教程
  • jquery 插件写法
  • CSSvista可同时在IE和Fifrefox调试的CSS编辑提供下载
  • 编程中的python
  • Jquery AJAX POST与GET之间的区别详细介绍
  • jquery 菜单
  • 安卓多点触屏在哪里设置
  • js操作dom节点的方法
  • 购房发票上的税率9%包含契税吗
  • 深圳市财政上交广东省吗
  • 江苏国家电子税务局新版本怎么申领发票
  • 四川省成都市国池酒厂52度原浆多少钱一瓶
  • 无偿划转暂行规定
  • 税务注销后发现报表报错的怎么办
  • 劳务报酬预缴税率表
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设