如果有这样的课程
public static class Globals {
public static string MyString;
static Globals() {
MyString = "example";
}
}
只要应用程序进程正在运行(可能在后台),MyString总是“示例”吗?
- 编辑 -
假设用户未更改MyString。
答案 0 :(得分:2)
这是public
,非final
字段,所以不,可能会有各种代码更改其值。
但是,是的,如果你不改变价值,它将保持不变。初始化块在加载类本身时运行一次,并且字段不会以某种方式神奇地丢失其值。 (即使该类应该被卸载,我不确定在Android上是否会发生,如果该类应该再次加载,该字段将被重新初始化)
答案 1 :(得分:1)
是的,只要该过程存在。请注意您保留的引用以避免内存泄漏。见:
Lifetime of a static variable in Android和Static singleton lifetime in Android。
您也可以为此目的扩展Application类。