按下按钮与旋转时的活动状态

时间:2016-03-23 12:39:02

标签: android

我有一个实现Parcelable的对象,以便在旋转屏幕时,数据被反序列化并显示在屏幕上。但是,当我按下后退按钮并再次单击活动“A”时,数据不再存在。按后退按钮后为什么onSaveInstanceState为空?

2 个答案:

答案 0 :(得分:3)

当您的活动因用户按下Back或活动结束而被销毁时,该Activity的实例的概念将永远消失,因为该行为表明不再需要该活动。

只有在系统重新创建活动时,

onSaveInstaceState才有价值。

查看Recreating an Activity了解详情。

答案 1 :(得分:2)

如果用户故意离开Activity,则不会调用onSaveInstanceState。系统销毁并重新创建Activity时会调用它。

因此,您在null中获得了onRestoreInstanceState

参考 - http://developer.android.com/reference/android/app/Activity.html#onSaveInstanceState%28android.os.Bundle%29