linux下的UID是系统用户名的意思,Android系统修改了linux 的UID的含义:每个APP对应一个UID。通过设置sharedUserId,拥有同一个sharedUserId并且签名相同的两个APP可以跑在同一个进程中;PID是进程id的意思,一个UID可以对应多个PID
包名和签名:
包名不一致:系统会认为是个新的软件,这就不算升级了
包名一致,签名不一致:系统会提示先卸载之前安装的版本,才能继续安装新的多进程:
可以通过给四大组件指定android:process属性,开启多进程,进程名以”:“开头属于当前应用的私有进程,其他应用的组件不能和他跑在同一个进程中,不以”:“开头的进程属于全局进程,其他应用可以通过sharedUserId方式和它跑在同一个进程中
多进程会引发的问题:
静态成员和单例模式完全失效
线程同步机制完全失效
Application会多次创建
PID,UID,sharedUserId以及Android开启多进程模式
最新推荐文章于 2024-09-11 11:07:59 发布