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
上一篇: Android为RecyclerView设置header和footer(RecyclerView.Adapter和BaseQuickAdapter两种方式)
下一篇: 通过dSYM文件分析crash日志
推荐阅读
-
web服务器和应用服务器的区别,一分钟带你搞懂这两者的关联
-
Android getReadableDatabase() 和 getWritableDatabase()分析对比
-
Android侧滑菜单和轮播图之滑动冲突问题
-
ASP中常用的函数和详细说明第1/2页
-
JVM之逃逸分析和TLAB
-
AndroidManifest.xml
和 分析及比较 -
Android中TabLayout+ViewPager实现tab和页面联动效果
-
深入理解python中的闭包和装饰器
-
DELL 600M 笔记本无声音和不开机故障二例
-
android handler.post和handler.sendMessage的区别和联系