位置: 编程技术 - 正文

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

  • 运输途中合理的消耗损耗
  • 小规模纳税人租金发票开几个点
  • 如何知道一家公司是否可靠
  • 外贸委外加工企业成本怎么核算
  • 人力资源外包服务增值税税率
  • 银行汇票分几种
  • 未认证的进项税账务处理
  • 电力工程公司岗位职责
  • 劳务外包用工单位可以抵扣进项税吗
  • 公司购入房产账务处理
  • 税务局每年都会大数据抽查吗
  • 混合销售如何做会计分录
  • 没有发票的费用计入什么科目
  • 简易注销还要去找专管员
  • 建筑施工企业购进材料会计分录
  • 股权转让印花税税率是多少
  • 金融企业的代理贷款什么意思
  • 私营独资企业是小微企业吗
  • 桌面图标变成了一张纸
  • 如何在win11上安装旧版ie
  • 政策性退税流程
  • pqv2isvc.exe - pqv2isvc是什么进程 有什么作用
  • 当月报废的固定资产
  • 高温补贴计入
  • 贷款支付的本息如何记账
  • 固定资产清查盘点报告模板
  • 扣缴个人所得税报告表在哪里打印
  • php反序列化漏洞原理
  • 小程序新版本
  • c#怎么使用
  • 关联数据查询
  • 预支工资的借条图片
  • 技术服务费发票图片
  • 金蝶kis资产负债表中预付款项年初余额公式怎么设置?
  • 公司名下的车怎么交税
  • 织梦标签理解
  • python线程和协程
  • 其他科技推广服务业可以加计扣除吗
  • 企业开户行信息是什么意思
  • SQLServer2005 Output子句获取刚插入的ID值
  • 对方给我们等额的钱
  • 医院购买医疗器械
  • 什么是叫资产负债表项目
  • 小微企业减免的增值税账务处理
  • 什么各级工会的离休退休人员的待遇
  • 小规模公司购买汽车会计分录
  • 稳岗补贴支付范围
  • 出资入股是什么意思
  • 金税盘抵增值税
  • 核定征收无收入
  • 预提费用在汇算清缴时调整,会计分录怎么做
  • 计提工会经费如何做账
  • 预收帐款一直挂账好吗
  • 每个月房租
  • 油卡充值做账
  • 报名费无发票要补交吗
  • MySQL 5.6 (Win7 64位)下载、安装与配置图文教程
  • sqlserver 复制表 保留默认值
  • SUSE Linux Enterprise Server 11 SP3安装教程详解
  • windows打不开添加打印机
  • linux内核和根文件系统的关系
  • vmware中安装centos7
  • win81怎么取消开机密码
  • 电脑已禁用ime是什么
  • 怎么把喜欢的图片设置成电脑壁纸
  • dos内部命令大全
  • 如何实现js对象和json数据互转
  • javascript零基础
  • linux中的shell命令
  • node搭建本地服务器运行html
  • android自定义样式
  • activity间数据传递
  • android 开源
  • python坑人代码
  • python 变参
  • 核定征收怎么计算税额
  • 医院法制科工作职责
  • 增值税已申报但是忘清卡
  • 个体户定额怎么查询
  • 领了不动产权证房子可以卖吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设