android 多进程操作sp问题

来源:互联网 发布:2016网络最火的神曲 编辑:程序博客网 时间:2024/05/29 16:28

最近在项目中遇到了关于sp操作的一些问题,分享出来避免大家踩坑。

问题描述:

假如你的应用拥有多个进程,比如叫进程A和进程B,你定义了一个sp文件叫apkInfo用于存储应用的一些信息,但是你可能会在A进程和B进程都需要存取应用信息,所以你在A进程和B进程都会操作apkInfo这个sp文件,这样会导致apkInfo存储的数据出现丢失的情况,使应用出现一些意想不到的bug(假如你存了一些比较重要的信息)。

解决方案:

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

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

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

原创粉丝点击