android - 静态变量是否不受生命周期垃圾收集的影响?

标签 android

如果有这样的类

public static class Globals {
    public static string MyString;

    static Globals() {
        MyString = "example";
    }
}

只要应用程序进程正在运行(可能在后台),MyString 是否总是“示例”?

-- 编辑--

假设用户未更改 MyString。

最佳答案

它是一个public,非final字段,所以不,可能有各种代码改变它的值。

但是,是的,如果您不更改该值,它将保持不变。加载类本身时,初始化程序 block 将运行一次,并且该字段不会以某种方式神奇地失去其值。 (即使该类应该被卸载,我不确定这是否会在 Android 上发生,如果该类应该再次加载,该字段将被重新初始化)

关于android - 静态变量是否不受生命周期垃圾收集的影响?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29730351/

相关文章:

java - 执行 Html.fromHtml 后更改 TextViews 中 html 链接的样式

android - Android 中的简单富文本编辑器

android - 使用内置工具 26.0.1 将变量传递到包含数据绑定(bind)的 View 在 Android Studio 3.0 中不起作用

Android Studio flutter - 警告 : Another emulator is still running - windows 10

android - Spinner 不换行 - 这是一个 Android 错误吗?

android - 如何将数据库适配器传递给另一个 Activity ?

android - 如何使用 Android NDK 和 Gradle 构建单个 APK

java - Android loadLibrary.so调用方法和构造函数

Android ImageView 绘图对象

java - Firebase - 检查 Posts 节点中的 uid 子值是否匹配,如果匹配则将所有分数值加在一起并存储在 String 变量中