2

我试图从 SharedPreferences 中获取值并将其存储在静态变量中。问题是有时我从静态变量中获取空值,但 SharedPreferences 具有价值。我通过这个过程存储了价值:

 SharedPreferences sp = u.returnShare();
    SharedPreferences.Editor editor = sp.edit();

    StaticVariables.userId = sp.getString("UserId", "default");
4

2 回答 2

3

不要使用静态变量,这是不好的做法。Android 可以随时销毁您应用程序的进程,然后在必要时通过重新创建活动来重新创建它。如果您在“第一个”活动中创建静态变量,那么当第 2 个或第 3 个活动首先启动时它不会被初始化。

于 2013-01-11T06:47:16.643 回答
3

静态变量在 android 中不是一个好的长期存储。系统可能会在您的应用程序处于后台时随时终止它(例如,当其他任务需要内存时)。当应用程序重新启动时,所有存储在静态变量中的值都会消失。

于 2013-01-11T06:47:24.997 回答