gpt4 book ai didi

java - Android应用程序停止变量重置-生命周期

转载 作者:行者123 更新时间:2023-12-01 12:17:55 24 4
gpt4 key购买 nike

我有一个有几个屏幕的应用程序。如果用户第一次打开应用程序,主屏幕会自动打开"new"屏幕。然后,我设置一个 boolean 变量(在主屏幕上)来跟踪这一点。

目的是如果用户返回主屏幕,则可以跳过打开"new"屏幕的代码。

问题是该变量在 OnCreate 上不断重置。因此,我添加了一些代码来使用 SharedPreferences。

这有效;但是,我想在应用程序退出时清除该变量。(我希望每次应用程序第一次打开时都会打开"new"屏幕)。因此,从生命周期来看,我尝试了 onStop 和 onDestory。SharedPreferences 被清除,但是……在应用程序退出时不会被清除;但是当"new"屏幕出现时。

我对生命周期的看法是否错误?是否有某种全局变量可以声明为仅在应用程序打开时有效?

此功能是必需的,因此我无法更改它。

最佳答案

您应该使用 onSaveInstanceState 和 onRestoreInstanceState,如果您的 Activity 调用 onCreate,它们将使 boolean 值保持 Activity 状态,但如果您退出并稍后返回,则不会。

请参阅此答案以了解实现情况: Saving Android Activity state using Save Instance State

关于java - Android应用程序停止变量重置-生命周期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26874235/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com