【发布时间】:2020-07-19 17:00:28
【问题描述】:
我有一个有几个屏幕的应用。 如果这是用户第一次打开应用程序,主屏幕会自动打开一个“新”屏幕。 然后我设置了一个布尔变量(在主屏幕上)来跟踪这个。
目的是如果用户返回主屏幕,可以跳过打开“新”屏幕的代码。
问题是变量在 OnCreate 上不断重置。 所以,我添加了一些代码来使用 SharedPreferences。
这行得通;但是,我想在应用程序退出时清除变量。 (我希望每次应用第一次打开时都会打开“新”屏幕)。 所以,看看我尝试过 onStop 和 onDestory 的生命周期。 SharedPreferences 被清除但......不是在退出应用程序时;但是当“新”屏幕出现时。
我看错了生命周期吗? 是否有某种全局变量我可以声明仅在应用程序打开时存在?
这个功能是必需的,所以我不能改变它。
【问题讨论】:
-
我能想到的只是一个单独的类来保留变量并在应用程序关闭时重置它。记录时间也可以 100% 工作。但我想我还有很多东西要学,因为我最近开始了 android 开发
-
你只能知道活动何时被用户关闭(但不能知道被进程管理器杀死)。
-
请发布一些代码和您的清单。应该有一个简单的方法来解决这个问题。
标签: java android android-activity android-lifecycle