位置: 编程技术 - 正文

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

  • 离职人员补发工资怎么做账
  • 空调安装维修费会计科目
  • 独资企业的个人所得税怎么缴纳
  • 企业注销库存怎么做账务处理
  • 有限合伙企业属于什么经济类型
  • 股份支付为什么计入股本溢价
  • 价内税是指
  • 工程预收款如何处理
  • 事业单位取暖费什么时候发
  • 生产车间维修费
  • 保险的月缴纳可以调整么?
  • 企业购车票可以抵扣增值税吗?
  • 卫生巾的税率
  • 无票收入如何做会计凭证
  • 当期免抵税额和当期留抵税额
  • 不具有法人资格的企业形式
  • 收入可以用收据入账吗
  • 一般纳税人交的增值税可以抵扣吗
  • 小规模减免增值税政策
  • 企业所得税法的规定可在税前扣除的
  • 苹果电脑安装了windows能取消吗
  • 压缩包损坏修复软件
  • 常见转移支付事项有哪些情况
  • 食堂充值管理制度
  • 劳务费费用
  • 土地增值税清算收入如何确定
  • 公司报销医疗费的范围
  • 哪些费用可以用医保
  • 哥德堡的港口
  • 为什么法律不允许安乐死
  • php socket_create
  • 旧房屋转卖的协议怎么写
  • python字符串操作作业
  • 增值税的法律法规最新
  • 外汇是先申报后收钱么
  • 最强大的人工智能武器
  • 图像去噪的原理
  • 企业付检测费的会计科目
  • 推特网页设置
  • 支付职工差旅费发生的现金流出
  • 餐饮服务专票可以抵税吗
  • 汽车进项税什么时候抵扣
  • 其他应收款其他应付款的风险
  • 制作费开票属于什么编码类型
  • 电脑访问另一台电脑访问权限
  • 抵扣进项税额是啥意思
  • sql实现split函数的脚本
  • 可供出售金融资产的会计处理
  • 专票金额高于实收金额
  • 房地产企业所得税预缴毛利率
  • 技术人员工资计入什么科目
  • 无形资产的有效期限与法定保护期限相等
  • 存货核算科目设置
  • 工资发多了可以追回吗
  • 购买固定资产记账
  • 股东投资方式有哪些
  • 保险发票计入什么科目
  • 进项发票冲红退回怎么做账
  • 小规模转一般纳税人条件最新政策
  • 跨期发票会计处理
  • 管理费用具体例子
  • 会计工作重点工作
  • vmware虚拟机无法打开内核设备怎么办
  • ms17010补丁怎么安装
  • docker 自启动
  • linux 详解
  • linux查看当前时间戳
  • centos安装owncloud
  • windowsxp的功能介绍
  • win7系统怎么删除输入法
  • linux的特殊权限
  • perl语言基本命令
  • unity2d 阴影
  • python利用csv模块在对csv文件进行操作
  • python解析excel文档
  • [置顶]游戏名:chivalry2
  • 西安养老保险申报
  • 2022年安徽城镇非私营单位平均工资
  • 公司外购设备对外投资账务处理
  • 优税猫是什么运营模式
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设