Android onSaveInstanceState(Bundle)仅执行一次&xBF;

Android onSaveInstanceState(Bundle)仅执行一次&xBF;,android,Android,我注意到,在我的应用程序中,onSaveInstanceState方法仅在活动被销毁时第一次运行。它应该在每次被破坏时运行,对吗。。。我需要修改第一次销毁时保存的数据。。。有人知道这是真的还是我弄错了 谢谢。如果您想在onDestroy()之后保存数据,请使用保存数据。我想在这里读一读可能会有用: 尤其是在这里: 以下是一个问题: 请注意,在onPause()而不是onSaveInstanceState(Bundle)中保存持久性数据非常重要,因为后者不是生命周期回调的一部分,因此不会像文档

我注意到,在我的应用程序中,
onSaveInstanceState
方法仅在活动被销毁时第一次运行。它应该在每次被破坏时运行,对吗。。。我需要修改第一次销毁时保存的数据。。。有人知道这是真的还是我弄错了


谢谢。

如果您想在onDestroy()之后保存数据,请使用保存数据。

我想在这里读一读可能会有用:

尤其是在这里:

以下是一个问题: 请注意,在onPause()而不是onSaveInstanceState(Bundle)中保存持久性数据非常重要,因为后者不是生命周期回调的一部分,因此不会像文档中描述的那样在每种情况下都被调用

我还认为这可能会引起兴趣:

我知道我还没有真正回答你的问题,但你想实现什么目标还不完全清楚。如果要持久化某些应用程序数据,应使用SharedReferences,并将数据存储在onPause中


然后,您可以从onResume中的SharedReferences中读取数据,以恢复您的状态。

每次活动即将销毁时,它都会运行。例如,如果您在当前活动中调用
finish()
,则在此之前将调用它。如果按后退按钮,情况也是如此。