我在活动中定义了一个全局变量,该变量根据用户按下的按钮而变化。
如果我离开我的应用程序 UI 并通过按住显示最近应用程序列表的主页按钮返回,那么我的变量将保持其状态,但如果我通过按下应用程序 aicon 再次运行我的应用程序,则变量状态消失了。
有没有办法保持变量的状态?
我在活动中定义了一个全局变量,该变量根据用户按下的按钮而变化。
如果我离开我的应用程序 UI 并通过按住显示最近应用程序列表的主页按钮返回,那么我的变量将保持其状态,但如果我通过按下应用程序 aicon 再次运行我的应用程序,则变量状态消失了。
有没有办法保持变量的状态?
onSaveInstanceState()
您可以在回调期间保存变量的值。然后使用传递给并onCreate()
恢复值的“icicle”参数。您可能有兴趣阅读管理活动生命周期。
另请注意,Java 有类变量和成员变量,但没有全局变量。
正如@Code-Guru 所说,您可以使用它onSaveInstanceState()
来保存变量的值。
另一种简单的方法是在静态类中创建一个静态成员来存储变量。只要应用程序在内存中,静态类就存在。
您可以考虑使用共享首选项此类用于存储和检索简单数据。