android - 具有共享偏好的单例类,每次传入上下文或存储它

标签 android sharedpreferences

我正在创建一个静态的单例类,因为它需要从任何地方访问。此类需要经常写入共享首选项。要创建共享引用对象,我需要上下文。

我读到在静态类中存储对 Context 的引用是个坏主意,因为上下文不能被垃圾回收,尤其是当它是 Activity 时。

因此,我创建了一些方法,无论它需要编写什么来共享首选项,我都会在上下文中传递。这导致创建共享首选项对象、存储数据,然后删除该对象。

这样可以吗?为什么或为什么不?

谢谢

最佳答案

你可以简单地

SharedPreferences pref = PreferenceManager.
       getDefaultSharedPreferences(context.getApplicationContext());

所以无论何时 context 完成你都不会在意,因为你使用应用程序上下文

关于android - 具有共享偏好的单例类,每次传入上下文或存储它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34783637/

相关文章:

android - adb -d shell "run-as ..."不适用于 Android O

带有 Gradle 和 Proguard 的 Android

java - 谷歌地图API v2在多个 fragment android

android - SharedPreferences 管理不同包之间

android - Sharedpreference byte[] 值在通过 'Force Stop' 或任务管理器杀死应用程序后清除

java - 如何使用 SharedPreferences 保存 SparseBooleanArray?或者还有其他选择吗?

android - 如何在应用程序最小化时暂停/停止收集/发送流中的数据?

android - 如何动态更改 Android 图表引擎中折线图的颜色?

android - 如何在首次调用时初始化首选项屏幕?

android - 我们可以并且应该在非 UI 线程上提交 SharedPreferences,如果是的话如何?