位置: 编程技术 - 正文

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下php5.2.4+mysql6.0+apache2.2.4+ZendOptimizer-3.3.0配置
  • 微软笔记本
  • 生产提供什么产品
  • 进口小汽车消费税率
  • 正则表达式u4e00
  • 福利企业增值税优惠政策
  • 暂估入库的税务分录
  • 可抵扣增值税有哪些
  • Laravel 5.4向IoC容器中添加自定义类的方法示例
  • php中数组的常用函数及用法
  • es6 promise await
  • vue封装组建
  • html如何导入excel
  • 百旺开票软件状态查询在哪里
  • urlparse安装
  • 茶叶开增值税专用发票,不在申报系统的农副产品类
  • 长期借款的核算分为哪三个阶段
  • 处置固定资产科目
  • 公司主营业务怎么介绍
  • 残疾人就业保障金减免政策2023
  • 固定资产折旧率如何计算
  • 中小企业暂估成本是多少
  • 快递费报销要明细吗
  • 送货运杂费属于什么收入
  • 对于投资者而言购买债券型理财产品面临的最大风险来自
  • 商贸企业的存货周转率什么水平属于正常
  • 退货开增值税专票可以用负数吗
  • 视同销售的账务处理如何做?
  • 房地产经纪公司排名
  • 收回多发工资需要什么附件入账
  • 分公司第二季度总结报告
  • 纳税人财务核算内容包括
  • 现金日记账的日期怎么写
  • 现金收款凭证的填制日期应当是
  • sql数据库对象
  • XP系统安装不了游戏
  • redhat linux6.5安装教程
  • fan.error是什么意思
  • nhaspx.exe是什么
  • csrss exe
  • win102021年1月大更新
  • 计算机策略设置
  • Centos 6.5 x86_64 安装或者设置花生壳ddns的技巧
  • 如何注销windows账户登录
  • winxp0000007b修复
  • win8启动后的初始界面
  • linux在云计算中的使用
  • linux用什么版本
  • z-blog SyntaxHighlighter 长代码无法换行解决办法(基于jquery)
  • android图像处理
  • unity3d怎么做游戏
  • code::blocks怎么用
  • nodejs基础知识
  • linux命令教程
  • cocos2d怎么用
  • javascript设计
  • 如何用jquery
  • js命名函数
  • 耕地建仓库属于违规
  • 购买烟叶要交烟税吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设