位置: 编程技术 - 正文

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

  • 企业所得税人数包括劳务派遣吗
  • 挂靠到运输公司的车转让给个人如何交增值税
  • 发票在系统里作用大吗
  • 固定资产一次性扣除申报表怎么填
  • 公司注销,账务怎么处理
  • 报税期能不能开发票
  • 6个点的税率怎么算的
  • 销售收入计入其他应付款
  • 材料实际成本包括哪些内容
  • 合同违约金账务处理
  • 非货币交易例子
  • 原材料的运输费怎么做会计分录
  • 小规模纳税人隔月可以作废发票吗
  • 购进旅客运输服务抵扣会计分录
  • 预付卡发票报销单怎么写
  • 建筑劳务公司开发票
  • 原材料总分类账怎么写
  • 空调安装工程如何做
  • 地铁充值发票会透露个人账户信息吗
  • 电子商务企业类别有哪些
  • 收到货款未发货可以开发票吗
  • 小规模纳税人企业所得税优惠政策最新2023
  • 笔记本电脑系统更新好不好
  • 出租的设备
  • 个体工商税务登记需要费用
  • 企业的无形资产有哪些
  • 证券权益包括哪些内容
  • 苹果Mac系统怎么切换输入法
  • 系统属性的表现
  • 土地增值税清算全流程实战案例
  • php socket_read
  • php生成二维码
  • framework教程
  • thinkphp yii
  • PHP:zip_entry_read()的用法_Zip函数
  • 职工取得全年一次性奖金如何计算缴纳个人所得税?
  • 债务重组收益的计算
  • php框架symfony
  • gmt微调
  • pico实例
  • GCC strict aliasing – 嫉妒就是承认自己不如别人
  • 利息收入凭证会计分录
  • 销货退回未开红字发票
  • LVS负载均衡群集的常用调度算法包含哪几种?
  • 匿问我答查人
  • 已认证发票对方作废后不重开怎么办
  • 资产减值损失包括什么
  • sql server s
  • 暂估管理费用跨年账务处理
  • 投资损失如何入账
  • 购买的税控设备
  • 母子公司之间的借款利息支出增值税能否抵扣
  • 出资注意事项有哪些内容
  • 预付账款有余额吗
  • 金融工具减值准则
  • 往来支付是现金结算吗
  • 企业偿债能力的含义
  • ubuntu20.04.1安装
  • 怎么制作win7系统u盘装系统教程
  • centos sudoers
  • 进程mmc.exe
  • linux安装sshd服务
  • linux文件目录的含义
  • pqhelper.exe是什么进程 pqhelper进程查询
  • win7系统更新补丁会解决游戏卡顿的问题吗
  • win7鼠标右键菜单不显示
  • 升级win10系统后安装谷歌打不开
  • unity播放声音的方法
  • android app 源码
  • node.js http服务器
  • jquery移动节点的方法
  • 每天一篇经济学人
  • Unity Batch 对 Vertex Shader 产生影响
  • python内置数据结构有哪些
  • 电子税务局打印发票提示本机未检测到
  • 广东电子税务局官网登录入口手机版
  • 租房完税证明需要房东交钱吗?
  • 工业生产和农业生产区别
  • 房屋契税可以退个人所得税吗
  • 闵行区注册公司,闵行区税务筹划,哪
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设