简述onSaveInstanceState()方法的作用 ? 何时会被调用 ?
参考答案:
onSaveInstanceState()
是Android生命周期中的一个重要方法,其主要作用是保存Activity的状态信息。这些信息会在Activity被销毁和重新创建时用于恢复其状态。具体来说,当设备旋转、配置更改或系统内存不足导致Activity被销毁时,这个方法就会被调用。
在onSaveInstanceState()
方法中,你可以将关键的活动数据保存到Bundle对象中。这个Bundle对象会在Activity重新创建时传递给onCreate()
方法和onRestoreInstanceState()
方法,以便用于恢复之前保存的状态。
onSaveInstanceState()
方法会在以下情况被调用:
- 当用户按下手机HOME键时。
- 从最近应用中选择运行其他的程序时。
- 按下电源按键(关闭屏幕显示)时。
- 从当前Activity启动一个新的Activity时。
- 屏幕方向切换时(无论是从竖屏切换到横屏,还是从横屏切换到竖屏)。
需要注意的是,如果Activity确定会被销毁,例如用户按下了返回键,或者调用了finish()
方法销毁Activity,那么onSaveInstanceState()
就不会被调用。
总的来说,onSaveInstanceState()
方法提供了一种机制,让开发者能够在Activity可能被系统销毁的情况下保存关键数据,以便在Activity重新创建时恢复其状态。