SharedPreferences的使用已经简单不过了。不过最近在使用的时候,发现很莫名其妙的问题。
在我的2.x测试机上,默认测试getSharedPreferences用的参数mode模式为Context.MODE_PRIVATE能正常使用,但是在我的4.x测试机上,却不能正常获得到内容。纠结了很久。
于是看了看帮助文档,才恍然大悟:
| mode | Operating mode. Use 0 or MODE_PRIVATE for the default operation,MODE_WORLD_READABLE andMODE_WORLD_WRITEABLE to control permissions. The bitMODE_MULTI_PROCESS can also be used if multiple processes are mutating the same SharedPreferences file.MODE_MULTI_PROCESS is always on in apps targetting Gingerbread (Android 2.3) and below, and off by default in later versions. |
|---|
也就是说,MODE_MULTI_PROCESS 是在2.3版本之前是默认生效的,多进程的访问方式,但是在2.3版本以后,必须要重新声明,才能正常使用。怪不得我在4.x测试机上,怎么获得数据都获得不到。
本文探讨了Android SharedPreferences中多进程模式的变化,从2.3版本之前的默认生效到4.x版本需重新声明的过渡过程,解释了这种变化的原因及解决办法。
1321

被折叠的 条评论
为什么被折叠?



