关于SharedPreferences的一次问题

原创 2016年06月01日 15:41:38

SharedPreferences可以用来保存一些很简单的数据,对应的就是一个key-value。但是最近遇到一个问题就是在多进程的时候,没有办法同步保存数据。看到一个解决办法是Context.MODE_MULTI_PROCESS 来进行多线程访问。在官网在介绍这个方法的时候是这样子的:

This constant was deprecated in API level 23.
MODE_MULTI_PROCESS does not work reliably in some versions of Android, and furthermore does not provide any mechanism for reconciling concurrent modifications across processes. 
Applications should not attempt to use it. 
Instead, they should use an explicit cross-process data management approach such as ContentProvider.

SharedPreference loading flag: when set, the file on disk will be checked for modification even if the shared preferences instance is already loaded in this process.
This behavior is sometimes desired in cases where the application has multiple processes, all writing to the same SharedPreferences file. 
Generally there are better forms of communication between processes, though.

This was the legacy (but undocumented) behavior in and before Gingerbread (Android 2.3) and this flag is implied when targetting such releases. 
For applications targetting SDK versions greater than Android 2.3, this flag must be explicitly set if desired.

在6.0以上这个方法已经被弃用了,最低支持2.3。而且最好使用ContentProvider
一定要用的话,要尽力避免同时去操作SharedPreferencesde。其实也找到一些开源的库,可是觉得没有必要,所以还是算了。

放一些链接:
- https://github.com/android-cn/android-discuss/issues/135
- http://zmywly8866.github.io/2015/09/09/sharedpreferences-in-multiprocess.html

版权声明:本文为博主原创文章,未经博主允许不得转载。

154.n1-sharedPreferences实现只进一次导航页

实现比较简单,封装sharedPreferences如下,方便后面使用sharedPreferences。 com.ldw.news.utils/PreferencesUtils.java packa...
  • augfun
  • augfun
  • 2017年05月10日 22:29
  • 181

feof函数多读一次问题解决方案

  • 2013年05月04日 14:06
  • 1KB
  • 下载

feof函数多读一次问题分析

  • 2013年05月04日 14:05
  • 2KB
  • 下载

SharedPreferences——不同的Activity间的preferences共享问题

今天是针对工作中的问题——sharedPreferences共享,进行自我解答,希望我的解答对我以后的开发,也对广大Android爱好者有帮助。 SharedPreferences作为一种本...

Android开发-数据存储SharedPreferences工具类、Set<String>保存问题、源码分析

介绍SharedPreferences作为Android提供给我们方便简单的存储数据的类。它内部的实现实际上是xml格式的文件存储数据,同时为了提升读写性能同时实现了内存缓存机制。关键源码在andro...

共享内存 —— 通过SharedPreferences实现进程间数据共享的问题详解

博客源址:http://blog.csdn.net/offbye/article/details/49488113 2015-10-29 10:44   之前为了解决应用的内存压力,在同一...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于SharedPreferences的一次问题
举报原因:
原因补充:

(最多只允许输入30个字)