位置: 编程技术 - 正文

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

  • 公司购买设备报告怎么写
  • 残保金滞纳金可以税前扣除吗
  • 企业所得税计入什么费用
  • 个体工商户旅馆怎么交税
  • 小规模纳税人缴纳增值税怎么做账
  • 专票没有税点
  • 餐饮通用机打发票可以报销吗
  • 代理记账公司收费项目
  • 应付职工薪酬期初余额在哪方
  • 本月完工入库会计分录
  • 增值税采用零税率政策的内容
  • 研发废料收入抵研发
  • 营业账簿是什么意思
  • 营改增后向境外提供有偿服务是否需要缴纳增值税?
  • 进项和销项不符的税务处理
  • 打井行业
  • 以前年度少计提收入
  • 一般纳税人库存商品怎么做分录
  • 三金一费包括哪些
  • 派遣公司乱扣钱没人管吗?
  • 固定资产一次计入成本费用
  • 本期应付而未付工资挂账处理?
  • 个税汇算清缴申报错误怎么办
  • mac双系统怎么删除win系统
  • 购买商品接受劳务的现金流包括哪些
  • 手游穿越火线怎么设置自动开火
  • thinkphp5开发教程
  • register.exe - register进程有什么用.是什么意思
  • 借条怎么写有法律效力范本长期有效
  • 中国各省市区域划分
  • icon图标教程
  • 增值税即征即退操作流程
  • Drömling湿地中的灰鹤,德国 (© Mike Friedrichs/Getty Images)
  • 养老院管理系统er图
  • 前端开发常用技术
  • vue-mapvgl
  • GANs系列:CGAN(条件GAN)原理简介以及项目代码实现
  • 怎样在网上领取
  • 个人取得的劳务报酬所得,如何缴纳个税
  • 人力资源外包服务企业
  • 销售蔬菜企业怎么做
  • 会计上弥补亏损
  • 人工费没有发票咋入帐
  • 月初领票是不是要等到报完税才可以领
  • 什么叫做应税劳务
  • 安防工程注意事项有哪些
  • 如何编制试算平衡表图示
  • 研发费用摊销方法
  • 政府补助收入是指
  • 房地产公司车位出租会计分录
  • 销售费用和管理费用的税前扣除
  • 小规模纳税人建筑服务预缴增值税
  • 测绘费发票图片
  • 固定资产转为投资的条件
  • 其他应付款贷方余额怎么冲平
  • 固定资产计提折旧的方法
  • linux下多个mysql5.7.19(tar.gz)安装图文教程
  • centos6yum源
  • xp无法创建目录或文件
  • fedora设置
  • 为什么windows删除文件很慢
  • 正常关机开机后爱奇艺自动卸载
  • xp系统如何禁止软件联网
  • find linux命令详解
  • linux怎么看历史记录
  • linux中find命令基本使用方法
  • 桌面开始菜单跑到右边去了怎么办
  • linux 定时运行
  • 64位的win10更新安装补丁KB3105213失败总是重复安装该怎么办?
  • linux创建vg
  • Linux Shell+Curl网站健康状态检查脚本,抓出中国博客联盟失联站点
  • 调度器在操作系统中的作用
  • nodejs游戏开发
  • android实现推送
  • 创建一个批处理文件,其功能是在当前
  • Android Build.prop
  • angular使用
  • 设计模式含义
  • 噩梦 1-4
  • 税务局社保服务
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设