码莎拉蒂 . 2018-05-23 07:37 采纳率: 100%
浏览 1705
已采纳

Android怎么sp怎么确保多进程

Android里面的sp有时候不支持多进程,那我们我们怎么实现sp的多进程呢?

  • 写回答

5条回答 默认 最新

  • Drink1993 2018-05-23 07:55
    关注

    一个sp文件只能被单个进程操作,不能多进程操作同一个sp文件。要想实现可以通跨进程通信方式 比如 基于binder的Messager AIDL socket

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • 普通网友 2018-05-23 07:42
    关注

    Context 的 getSharedPreference(String name, int mode)
    第二个参数 mode 可以指定 sp 的操作模式,同样在Context 我们可以看到产量 public static final int MODE_MULTI_PROCESS = 0X0004
    单设定这种模式的话是支持多进程读写的

    评论
  • weixin_42064875 2018-05-23 08:06
    关注

    一个sp文件只能被单个进程操作,如果会在不同的进程存取信息,则需要创建多个sp文件。
    比如上面的问题,你需要创建两个存储应用信息的sp文件,比如分别叫apkInfoA和apkInfoB,apkInfoA只会被A进程操作,apkInfoB只能被B进程操作。

    假如你需要在A进程获取存储在apkInfoB的一些信息,那你可以通过进程间传递数据的方式告诉B进程去apkInfoB拿数据,拿了数据后再传给进程A,反之一样。

    切记:
    一个sp文件只能被单个进程操作,不能多进程操作同一个sp文件。

    评论
  • Pipinggo 2018-05-23 08:23
    关注

    sp+ContentProvider解决问题的,之前遇到的问题,star了一发的,链接在这里:https://github.com/penglu20/SPHelper

    评论
  • 呼啸长风 2021-12-02 20:06
    关注
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 我现在有一些关于提升机故障的专有文本数据,量也不多,我在label studio上进行了关系和实体的标注,完成了知识图谱的构造,那么我使用生成式模型的话,我能做哪些工作来写我的论文?
  • ¥15 电脑连不上无线网络如下诊断反馈应该如何操作
  • ¥15 telegram api 使用forward_messages方法转发消息时,目标群组里面会出现此消息来源,如何隐藏?
  • ¥15 在ubuntu中无法连接到远程服务器传输文件
  • ¥15 关于#tensorflow#的问题:有没有什么方法可以让机器自己学会像素风格的图片
  • ¥15 Oracle触发器字段变化时插入指定值
  • ¥15 docker无法进入容器内部
  • ¥15 qt https 依赖openssl 静态库
  • ¥15 python flask 报错
  • ¥15 改个密码引发的项目启动问题