ljq869115191
钢镚—
2017-06-23 02:54
采纳率: 20%
浏览 1.4k

Android 使用 sharedPreferences

本地储存了一个 boolean 变量
开启了 一个 Service 一直在 读取这个boolean 比如我一直读取的是 true;
我在Activity 中更改 这个 boolean 为 false 但是 服务中查询出来还是 为 true;
MODE 我设置的 MODE_PRIVATE,MODE_MULTI_PROCESS,MODE_APPEND
这三种 都不起作用!

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

13条回答 默认 最新

  • stven_king
    静默加载 2017-06-23 07:10
    已采纳

    SharedPreferences属于操作的是xml文件需要耗时的,service轮训去校验这个值导致其他线程对SharedPreference的操作受阻。commit方法是有返回值的,看看是否修改成功。
    另外利用SharePreferences来实现多线程之间的通讯很不优雅。。。可以利用发通知等方法实现。

    点赞 评论
  • HuoHao_Blogs
    huohao-nicole 2017-06-23 03:44

    从你的叙述中我感觉好像不应该

    点赞 评论
  • qq_21206775
    qq_21206775 2017-06-23 04:00

    你确定你有edit.commit(); 这句话看你有没写?

    点赞 评论
  • zanjiaowei
    smile_邝野 2017-06-23 06:14

    在Activity 中更改后需要保存到sharedPreferences,我猜你用的时候是直接读的sharedPreferences

    点赞 评论
  • ljq869115191
    钢镚— 2017-06-23 07:19

    这是更改的时候的地方 在 Fragment里面
    !这是在服务中获取 值的 代码! 大家帮忙看看!
    sharedPreferences = UpLoadService.this.getSharedPreferences(ShareName, UpLoadService.MODE_MULTI_PROCESS);
    editor = sharedPreferences.edit();实例化代码!

    点赞 评论
  • zengxianzi
    昭杏之念 2017-06-23 09:11

    看下有没有调edit.commit(),在service是开了线程一直获取吗,在acitivty更改是否是在获取之前,获取和设置的key和sharedPreferences的名字有没有对应上

    点赞 评论
  • zengxianzi
    昭杏之念 2017-06-23 09:11

    点赞 评论
  • lyj707107312
    lyj707107312 2017-06-23 09:22

    在服务中获取需要这行代码(editor = sharedPreferences.edit();实例化代码!)干什么???
    是每次轮询都实例化sharedPreferences ,还是只实例化一次多次轮询

    点赞 评论
  • zanjiaowei
    smile_邝野 2017-06-24 06:19

    你在服务中获取的sharedPreferences 的key对吗?

    点赞 评论
  • ljq869115191
    钢镚— 2017-06-26 02:47

    谢谢 各位了! sharedPreferences 我是规范 使用的! 原因可能出现与 我在服务中 轮询 导致线程冲突!
    之前的问题! 我自身做了一些优化! 不再使用 sharedPreferences 使用 广播和回调! 完美解决。

    点赞 评论
  • say_from_wen
    say_from_wen 2017-06-28 05:34

    首先 这个跟MODE 是没有关系的,可以打断点看你设置为false的代码执行了吗?再取找其他问题。

    点赞 评论
  • say_from_wen
    say_from_wen 2017-06-28 05:47

    首先 你的问题和mode没关系 你可以打下断点 看看你写的代码执行了吗

    点赞 评论
  • dongfeng9ge
    东风玖哥 2017-09-08 13:34

    很明显你忘了commit

    点赞 评论

相关推荐