本文主要是介绍onSaveInstanceState() 你了解多少,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
这张图片大家并不陌生,你看懂了么,不要因为英文不好就不看api文档,只要认真看,不懂的就百度,相信很快你就习惯看英文的api文档了
左边的大致的流程:app内存不足,这时候,就会销毁不可见的activity,这时候开始调用onSaveInstanceState(),保存activity的状态,这个状态通过onCreate()或者onRestoreInstanceStante()获取到
右边的大致的流程:不可见的activity没有被销毁掉,此时用户重新进入activity,这是调用生命周期中的onRestart(),重新启动activity(并没有新建activity),那么就不需要保存activity的状态。
这里主要有几点,就是onSaveInstanceState使用的时机,在activity不是人为finish掉的情况下,有以下几点:
1.按home键的时候,系统不知道activity是否被销毁,让用户保存非永久性数据。
2.从一个activity启动新的activity的时候
3.横竖屏的切换(因为这里会重新创建activity,类似2)
4.按下电源键(屏幕显示关闭时)
总之,调用onSaveInstanceSate的方法,遵守这样的规则,就是activity在未经你许可的情况下,被销毁掉,这时候系统就有责任调用它,提供一个保存非永久性数据的机会。
这篇关于onSaveInstanceState() 你了解多少的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!