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