在我们想要读取配置变量的代码中的任何地方创建一个新的 SharedPreferences 对象是否可以接受?
SharedPreferences prefs=PreferenceManager.getDefaultSharedPreferences(this);
我在几个方法和类中都有这样的代码,每次调用一个方法时,都会一次又一次地执行相同的代码以获取 SharedPreferences 对象的另一个实例。
我想我可以将所有这些减少到一个实例中,将 SharedPreferences 对象存储到某个类 var/field 中,然后在每个其他地方使用存储在该 var 中的对象(创建一次并使用多次)。也许我可以将它存储在专用于此目的的单独类的静态字段中,然后在所有其他类中使用它。
你有什么建议,为什么?
最佳答案
我个人不在我的任何应用程序中使用我的 SharedPreferences
的静态实例。我总是像您一样获取它 PreferenceManager.getDefaultSharedPreferences(context)
并在该特定方法中使用。
如果您在特定方法中过于频繁地访问您的首选项,也许您应该重新考虑它是否是一个好的用途。如果你经常从 prefs 获得的信息是经常需要的,为什么不将它保存在内存中并在它不存在时从 prefs 加载?我肯定会这样做。
出于好奇,如果您想查看 getSharedPreferences
方法在内部执行的示例,请查看 this .
关于android - 每次都创建一个新的 SharedPreferences 对象来读取配置变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35926112/