我创建了一个以静态方式持有 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();
}
}