版权声明:本文为博主原创文章,未经博主允许不得转载。 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