【发布时间】:2012-11-18 11:48:46
【问题描述】:
我创建了一个以静态方式持有 SharedPreferences 访问权限的类。查看AOSP ContextImpl.java的SharedPreferenceImpl,我看到synchronized(this)在执行put和get时使用。
我还应该在下面的代码中添加synchronized 吗?
public class AppPreferences {
// Get static SharedPreferences Editor
private static Editor getEditor(Context ctx) {
return PreferenceManager.getDefaultSharedPreferences(ctx).edit();
}
// Get static SharedPreferences
private static SharedPreferences getPref(Context ctx) {
return PreferenceManager.getDefaultSharedPreferences(ctx);
}
public static String getUserName(Context ctx, String defaul) {
return getPref(ctx).getString("user_name", defaul);
}
public static void setUserName(Context ctx, String text) {
getEditor(ctx).putString("user_name", text).commit();
}
}
【问题讨论】:
-
你找到答案了吗?
-
我还是不知道正确答案
-
另请参阅此处:github.com/Utumno/AndroidHelpers/blob/master/src/gr/uoa/di/…,了解我对 prefs 包装器的尝试 - 此处:stackoverflow.com/questions/19610569/… 了解一些要点
标签: android sharedpreferences synchronized