onSaveInstanceState调用时机

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xyzso1z/article/details/83063326

当某个Activity变得容易被系统销毁时,该Activity的onSaveInstanceState函数就会被执行,除非该Activity是被用户主动销毁的,如当用户按back键时。

意思是说,该Activity还没又被销毁,而仅仅是一种可能性,这种可能性有这么几种情况:

1.当用户按下Home键时;

2.长按Home键,选择运行其他的程序时;

3.按下电源键(关闭屏幕显示)时;

4.从Activity A启动一个新的Activity时;

5.屏幕方向切换时,如从横屏切换到竖屏;

6.电话打入等情况发生时;

一句话概括就是,不是用户主动退出某个Activity或者跳转到其他Activity的情况下就会触发onSaveInstanceState.换句话说,onSaveInstanceState()的调用遵循一个重要原则,即当系统存在“未经你许可”时销毁了我们的Activity,则onSaveInstanceState()会被系统调用,这是系统的职责,因为它必须要提供一个机会让用户保存数据。

————《Android设计模式解析与实战 》 257

猜你喜欢

转载自blog.csdn.net/xyzso1z/article/details/83063326
今日推荐