位置: 编程技术 - 正文

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

  • 合伙企业所得税怎么征收
  • 免税收入不征税收入有哪些
  • 核定征收的计算方法有哪些
  • 年报资金数额要怎样填
  • 配件和修理费能一起用吗
  • 汇算清缴时有哪些需要调整的项目
  • 废旧物资收购发票取消
  • 对方发票没交税怎么办
  • 技术开发收入免征所得税吗
  • 企业缴纳增值税后还需缴纳所得税吗
  • 转让生产指标的企业所得税
  • 房地产开发企业会计科目
  • 拍卖公司都要交前期费用吗?
  • 年终奖如何合理发放
  • 应计利息会计分录处理
  • 会计凭证传递的终点是
  • 金税盘发票号码确认显示不全
  • 个人怎么开增值税
  • 出口退税可以不申报是否需要缴纳增值税
  • 口腔医院的发票有什么用
  • 建筑业小规模纳税人异地开票
  • 关于个体工商户的法律规定及司法解释
  • 土地使用税和房产税
  • 六税两费减半会延期吗
  • 房产契税怎样交费
  • 长期借款利息如何做账
  • hyper-v虚拟机中重置虚拟机是什么意思
  • 职业病治疗费用由谁来承担
  • 新店开业费用预算表格
  • dsregcmd.exe
  • 借款成坏账了怎么处理
  • 增值税专用发票有几联?
  • kms.exe
  • 解决办法总比困难多
  • 营改增后如何纳税
  • 暂估原材料的数量怎么算
  • 唱吧地图
  • 【Pytorch深度学习50篇】·······第六篇:【常见损失函数篇】-----BCELoss及其变种
  • 餐饮服务专票可以抵税吗
  • 购买固定资产的运费计入什么科目
  • 接待客人发生的事故
  • 个人提供翻译服务
  • 银行汇票和银行承兑汇票的区别
  • 按月申报的税种
  • 金融企业往来支出科目属于什么科目
  • 以前年度盈余调整对应科目
  • 加油的电子发票在哪里找
  • 固定资产的认定标准2022
  • 善意取得虚开增值税专用发票处理
  • 新老税法
  • 非货币性资产含义
  • 给保安买大衣算贿赂吗
  • 房地产企业扣除土地价款如何申报
  • 电子发票已开出客户退款会计处理是怎样的?
  • 在外地设办事处需要办什么手续
  • 付转让费计入什么科目
  • 实收资本实际缴纳要去税务局备案吗
  • 印花税应税凭证是还是否
  • win7安装windows无法安装所需的文件请确保
  • winxp开机界面后老重启
  • xp系统如何批量复制文件路径
  • centos7软件
  • centos 安装rpm软件包的命令
  • nkvmon.exe - nkvmon是什么进程 有什么用
  • windows显示内部版本
  • Extjs 4.x 得到form CheckBox 复选框的值
  • js控制鼠标位置
  • 数据库的基本操作语句有哪些
  • centos搭建php
  • python中字符串的方法
  • nodejs和jsp
  • jquery mobile grid
  • python语言例子
  • 廊坊银行辟谣了吗
  • 税法查询系统
  • 税务登记表格怎么填写
  • 韩国税务怎么算收入
  • 国税发2014年39号
  • 纳税服务投诉整改报告
  • 税务报运维需要多长时间
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设