Android怎么sp怎么确保多进程

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

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

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

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

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

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

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

可以用这个库:
https://github.com/BillyWei01/FastKV