android - 在 SharedPreferance 中使用静态最终变量会导致内存泄漏?
问题描述
我正在使用静态最终字符串来引用 Sharedpreference 值,如下所示:
public class Constants {
public static final String KEYCODE_HELP = "keycode_help";
}
并像这样使用它:
SharedPreferences.Editor editor = sharedpreferences.edit();
//put
editor.putInt(Constants.KEYCODE_HELP, 1);
//get
editor.getint(Constants.KEYCODE_HELP);
并多次这样做。这会导致内存泄漏吗?
解决方案
静态变量在类加载时只在类区域中获取一次内存。将变量设置为 static final 不会仅仅因为它被标记为 static final 而导致任何类型的内存泄漏。但如果你指向一个活动、片段或视图上下文泄漏,它会。
有关更多信息,您可以查看链接
推荐阅读
- java - 我如何从 Set 中获取对象?
- python - 从父类函数继承属性而不执行父类函数的其余部分
- c# - Xamarin 按钮坏了?
- python - super().__init__(**kwargs) TypeError: __init__() got an unexpected keyword argument 'attrs'
- javascript - 未捕获的 ReferenceError:未定义 helloSpeaker
- python - TypeError:在“NoneType”和“float”的实例之间不支持
- javascript - UnhandledPromiseRejectionWarning:TypeError:无法读取未定义的属性参数
- binary-tree - Racket:给定卖家名称,以二叉树的形式打印销售产品的结果
- python - OpenCV - 使用多个网络摄像机进行运动捕捉
- css - Bootstrap 页脚覆盖正文内容