onSaveInstanceState 和 onRestoreInstanceState
1.onSaveInstanceState 和 onRestoreInstanceState基本作用:
onSaveInstanceState是用来保存UI状态的,可以在activity被杀死之前保存要保留的数据(Bundle putBundle等方法),一般在onStop或者onPause之前触发;
onRestoreInstanceState是用来恢复状态的,可以用来在activity异常结束后重启恢复数据,恢复的数据放在onRestoreInstanceState或者onCreate方法参数中的bundle内;
2.onSaveInstanceState调用时机:
当activity存在被销毁的可能性时 而非用户主动销毁(按下BackPressed键则不调用),就会自动调用这个方法用来存一些关键数据(但不能持久化保存数据),持久化应放在onPause中处理会更佳:
1.从一个activity跳转到另一个activity
2.用户按下Home键
3.长按home切最近任务task
4.锁屏
5.系统属性改变,但又没有在配置清单文件中声明,生命周期重走,也会调用;
3.onRestoreInstanceState调用时机:
注意:onSaveInstanceState和onRestoreInstanceState不一定是成双成对调用的;
onRestoreInstanceState是在acitivity确实在以上几种意外情况销毁的情况下,才会调用来恢复数据的,恢复的Bundle数据出现在onRestoreInstanceState或onCreate方法参数中;
本文地址:https://blog.csdn.net/emmmsuperdan/article/details/112527314
上一篇: iOS项目中混编flutter和打包发布
下一篇: 如何给Linux虚拟机连上WiFi详解
推荐阅读
-
hp compaq 笔记本产品号、序列号、产品系列的区别和各自含义
-
微信怎么备份数据?微信聊天记录备份迁移和恢复详细图文教程
-
MySQL5.7.20解压版安装和修改root密码的教程
-
Outlook.com和Outlook On Web新增两项新功能
-
笔记本的日常使用和维护技巧
-
jQuery实现动态添加和删除input框实例代码
-
Edge浏览器和IE浏览器哪个好用?使用Win10浏览器的五大理由
-
win10系统中Edge/Chrome/火狐/Safari/Opera和IE哪个更好用?
-
微软大手笔改进Win10 Edge浏览器 体验不输Chrome和火狐
-
微软Edge浏览器新功能确认 Win10中可拖放和预览标签