相关疑难解决方法(0)

SharedPreferences和线程安全

查看SharedPreferences文档,它说:

"注意:目前这个类不支持跨多个进程使用.这将在以后添加."

所以它本身似乎并不是线程安全的.但是,对commit()和apply()有什么样的保证?

例如:

synchronized(uniqueIdLock){
   uniqueId = sharedPreferences.getInt("UNIQUE_INCREMENTING_ID", 0);
   uniqueId++;
   sharedPreferences.edit().putInt("UNIQUE_INCREMENTING_ID", uniqueId).commit();
}
Run Code Online (Sandbox Code Playgroud)

是否可以保证uniqueId在这种情况下始终是唯一的?

如果没有,是否有更好的方法来跟踪持续存在的应用程序的唯一ID?

android thread-safety sharedpreferences

48
推荐指数
2
解决办法
3万
查看次数

标签 统计

android ×1

sharedpreferences ×1

thread-safety ×1