位置: 编程技术 - 正文

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

  • 申报未抄税
  • 支付外国公司费用要交税吗
  • 简易计税36个月不能变指的是这个项目吗?
  • 返佣账务处理
  • 为什么有的发票税率是3%,有的是1%
  • 行政事业单位工资标准
  • 无效产权转移的契税需要征收吗
  • 价格调节基金费率
  • 境外企业提供国外服务
  • 企业生产设备产品有哪些
  • 个人承担的社保算工资吗
  • 工资中代扣水电费是什么意思
  • 返聘人员工伤可以申请工伤鉴定吗
  • 广告制作费有哪些项目
  • 购进货物作为优秀员工的奖励是否可以进项抵扣?
  • 购进货物运费会退吗
  • 银行转账取得的收据
  • 购买银行承兑汇票的会计分录
  • 个人到税局开具发票流程
  • 收支利息税务如何处理
  • 历年亏损企业开什么发票
  • 出口退免税资格备案
  • 资产置换税务处理案例
  • 在建工程产生废料收入的账务处理?
  • win11进入黑屏
  • 行政事业单位的营业执照叫什么
  • 如何让游戏速度加快
  • 企业变更股东要交税吗
  • php上传文件参考文件类型
  • linux删除文本文件命令
  • php fwrite函数
  • 事业单位无职务人员称什么
  • 啥叫同比增长
  • 实收资本本年利润属于什么科目
  • php实现发送邮件
  • java单点登录token
  • 中标费用由哪方出
  • 固定资产清理的金额怎么算
  • 帝国cms破解授权
  • React props全面详细解析
  • 未按期兑现的合同缴纳印花税吗?
  • 个税申报更正申报如何操作
  • 债务豁免的账务处理
  • SQL Server 2008 r2 完全卸载方法分享
  • sql server 创建数据表状态1第三行语法错误怎么回事
  • mysql Non-Transactional Database Only(只支持MyISAM)
  • 坏账准备的会计处理方法
  • 投资性房地产抵债怎么做账务处理
  • 车辆购置税可以退税吗
  • 分包工程 税务 账务处理
  • 以前年度损益调整账务处理分录
  • 农业免税企业开票有限额吗
  • 小企业会计准则2023电子版
  • 会计凭证后面需要打勾的是
  • 金税盘可以申请发票吗
  • 企业取得土地使用权会计处理
  • 如何从财务报表中分析企业偿债能力
  • 利息收入核算什么科目
  • win7无法识别usb设备如何解决
  • windows vista在哪里
  • win10 server2008
  • 怎么删除服务器管理的服务
  • win8如何更改账户名
  • xp.系统
  • mac电脑废纸篓清空文件恢复
  • mac如何连接iphone
  • win10连无线网络受限
  • 如何解决windows资源管理器已停止工作
  • 微软64位Win10 Mobile很快到来 Surface Phone有望搭载
  • windows7输入
  • JS、jQuery中select的用法详解
  • js获取时间精确到毫秒
  • [小权~编码路&Android] BroadcastReceiver应用详解
  • python数据结构之数组
  • 三消游戏在线
  • u3d官方
  • 下拉列表框模糊匹配
  • javascript的函数调用
  • 佛山市国家税务局狮山分局简介
  • 岗位能手竞赛
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设