有关 onSaveInstanceState() 那点事

我们都知道,按 home 键将 APP 压入后台时,会调用 onSaveInstanceState() 方法来保存当前状态,并可以在重新回到 APP 时恢复。最近做了一些保存和恢复 Activity/Fragment 状态的事,总结了一点经验教训。

Activity 与 Fragment 的 savedInstanceState 不能混用。即,在 Fragment 的 onSaveInstanceState() 方法中保存的 bundle,与在 Activity 的 OnCreate() 方法中得到的 bundle 没有关系,两者是独立的。但子类中可以通过重写onSaveInstanceState() 来补充父类中保存的 bundle,Activity、Fragment 皆然。

一些 View 的状态会自动保存和恢复,无需手动保存/恢复。比如 EditText 中输入的文字,按钮的选中状态等。需要注意的是:

  • 只有提供了 android:id 属性的 View 才会自动保存恢复;

  • View 的 visibility 等属性似乎并不会被自动恢复;

需要保存的是成员变量。Activity/Fragment 中每个成员变量都会被销毁,因此我们在 onSaveInstanceState() 中需要保存的是这些成员变量。

参考

https://inthecheesefactory.com/blog/fragment-state-saving-best-practices/en

转载于:https://www.cnblogs.com/noodleutopia/p/5912588.html

有关 onSaveInstanceState() 那点事相关推荐

  1. 关于onFinishInflate的一些事

    关于onFinishInflate的一些事 这个方法相信大家都不会陌生,大家都知道这个方法在onCreate之后执行,要拿到控件宽高要onWindowFocusChanged方法之后才能拿到,平时自定 ...

  2. 遇事不责怪别人,换位思考能成全更好的自己

    在生活中,有时候有些人做的某些事可能会让你感觉不爽:这时,你最好不要急着去责怪他:试着把自己放在对方的处境,看看别人的生活,你才能看到人间百态,理解他人的难处. 每个人的生长环境不同,心境就不同:有些 ...

  3. 力所能及的做些自己喜欢和有趣的事

    我们每个人都有自己喜欢做的事:在自己可控且力所能及的情况下,在闲时,按自己的意愿去做些自己喜欢和有趣的事,会感觉到这事很有意义.在忙时,要为理想和奋斗而忙:不浪费时间在无意义的事和人身上. 朋友要的是 ...

  4. 不要纠结于过去发生的事

    在这个社会中,有些人很早就经历了一些不好的事,遇到不好的人:让他留了一些阴影.这时,应该学会不要纠结于过去发生的事情了!一件事情已经发生了,不管再怎么后悔也不能改变结局: 对这件事一直有懊悔之心,只会 ...

  5. 【运维学习笔记】生命不息,搞事开始。。。

    001生命不息,搞事不止!!! 这段时间和hexesdesu搞了很多事情! 之前是机械硬盘和固态硬盘的测速,我就在那默默的看着他一个硬盘一个机械测来测去. 坐在他后面,每天都能看到这位萌萌的小男孩,各 ...

  6. 保护嵌入式802.11 Wi-Fi设备时需要考虑的10件事

    保护嵌入式802.11 Wi-Fi设备时需要考虑的10件事 10 things to consider when securing an embedded 802.11 Wi-Fi device 随着 ...

  7. Python爬虫实战糗事百科实例

    爬取糗事百科段子,假设页面的URL是 http://www.qiushibaike.com/8hr/page/1 要求: 使用requests获取页面信息,用XPath / re 做数据提取 获取每个 ...

  8. 关于.NET玩爬虫这些事 【初码干货】

    这几天在微信群里又聊到.NET可以救中国但是案例太少不深的问题,我说.NET玩爬虫简直就是宇宙第一,于是大神朱永光说,你为何不来写一篇总结一下? 那么今天就全面的来总结一下,在.NET生态下,如何玩爬 ...

  9. 《创业维艰分享之五》所有得,有所乐,日事日清,循序渐进。

    这两个月公司连续做了两个大客户紧接着发布新版本再然后又是连续五个小版本迭代计划. 每天16小时的超强度工作,我已经看到兄弟的脸上都写着一个字:累! 我自己又何尝不是,既是客服,又是程序员,还必须是行政 ...

最新文章

  1. 「镁客·请讲」智加科技刘万千:技术与生态的成熟将推动自动驾驶的落地应用...
  2. python搞笑代码-python有趣代码
  3. Bug访问豆瓣403forbidden
  4. word文档图标变成白纸_挽救你的文件 修复变成乱码的Word文档
  5. python画熊猫论文_Python数据可视化之美:专业图表绘制指南(全彩)
  6. SpringFramework核心技术一(IOC:命名bean)
  7. java系列7:构造方法
  8. bzoj 4129 Haruna’s Breakfast 树上莫队
  9. 运算符重载,输出流运算符重载
  10. PAT A1007 动态规划
  11. windows部署novnc浏览器远程控制windows
  12. hibernate插件下载
  13. LabVIEW编程LabVIEW开发PXI-6704输出大于20mA的电流例程与相关资料
  14. Ubuntu,Linux下goldendict词典安装及配置
  15. 程序员的最高境界:呆若木鸡
  16. FIN断开-TCP segment of a reassembled PDU-原因分析
  17. WindowsMac本地搭建Code-Push-Server热更新服务器
  18. 【IoT】产品三问:什么是产品?什么是产品管理?产品经理职责是什么?
  19. java摄氏度转华氏度 在控制台输入
  20. codeforces 697C Lorenzo Von Matterhorn(二叉树LCA)

热门文章

  1. 1.15 Python基础知识 - 函数
  2. 操作系统——MiniDos
  3. java NIO 资料总结
  4. dietlibc中的strcpy算法浅析
  5. 主流TTLCMOS电平介绍
  6. uboot分析之bootm_start
  7. vusjs 配合php_对照着jquery来学vue.js系列之配合thinkphp下拉获取分页数据
  8. java 短链跳转原理_给你代码:短链接生成原理
  9. Docker容器(配置+镜像建立及优化+镜像加速器制作)
  10. 阿里来了位技术新童鞋,一秒K.O八位律师