最近在两个项目中遇到共享数据的问题,考虑之后决定选择sharedUserId来实现数据共享,由于需要共享的数据只比较少,只是一些配置信息而已,跟使用ContentProveder相比来说性价比更高点。
首先sharedUserId是android平台分配UID的一个标识,具有相同的sharedUserId的两个程序在安装时会被分配相同的UID,就是说这两个程序共享同一个UID,在运行时这两个程序可以运行在同一进程中也可以运行在不同进程中,视配置而定,具体怎么配置现在还没去研究。有人知道的可以留言给我一下,谢谢!
对于共享sharedUserId的两个程序在安装时有一些限制。1 如果这两个程序是想作为预置程序安装在机子上,首先这两个程序必须要有相同的签名,不然这两个程序中必然会有一个程序安装失败。2 如果这两个程序同时都在机子上处于启动状态,那么如果有一个程序崩溃可能会导致另外一个程序重启,这一点可能跟他们处于同一进程有关。
下面举例说明用sharedUserId共享数据步骤: