变量的值在调用onSaveInstanceState之后发生更改

问题描述 投票:0回答:1

据我所知,每次应用程序进入后台时都会调用onSaveInstanceState。如果是这样,则该应用程序可能仍在后台执行一些代码。因此,我想知道如果在onSaveInstanceState期间保存变量x的状态,该应用程序仍将在后台继续执行并更改变量x的值,将会发生什么。稍后,该过程将被终止,并且将重新创建活动(当用户返回到应用程序时)。

所以x的值是多少?似乎它将具有旧值(在onSaveInstanceState期间保存),但是新值会发生什么,会丢失吗?

android fragment android-memory onsaveinstancestate
1个回答
0
投票

首先,调用它们时不会自动保存所有变量,您需要将它们放入捆绑包中,就像在向Intent中添加Extras时一样。

并检索这些值,将其从方法onRestoreInstanceState中的捆绑包中取出。因此,如果还原了某个变量的值,则该值将是您在捆绑软件中设置的值,如果您以后更改该值而不将其放在捆绑软件中,它将丢失。

也请考虑到您所说的后台执行,事实并非如此。保存活动状态只是一个最小的代码执行,而不是实际的后台执行]

© www.soinside.com 2019 - 2024. All rights reserved.