繁体   English   中英

为什么我的Android应用程序的静态变量有时会返回null?

[英]Why static variable of my android application sometimes return null?

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

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

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

不要使用静态变量,这是不好的做法。 Android可以随时破坏您的应用程序进程,以后可以根据需要通过重新创建活动来重新创建它。 如果要在“第一个”活动中创建静态变量,则在第一次启动第2个或第3个静态变量时不会对其进行初始化。

静态变量在android中不是很好的长期存储。 在后台的任何时候,系统都可能会杀死您的应用程序(例如,其他任务需要内存时)。 重新启动应用程序后,存储在静态变量中的所有值都将消失。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM