Android怎么sp怎么确保多进程

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

4个回答

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

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

fuck_your_xxx
king_of_william 当然这里只是设置可多进程操作,具体的实现的话可以用ContentProvider + sp 来实现
大约 2 年之前 回复

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

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

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

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

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问