美文网首页
VirtualApp拆解之一::x进程

VirtualApp拆解之一::x进程

作者: alen17 | 来源:发表于2017-05-21 13:00 被阅读0次

    :x进程启动时序图

    :x进程是VirtualApp所有虚拟服务所在的进程,模拟了大部分的系统服务,以供插件(虚拟App)调用。下面便是:x进程启动时序图。点此链接可查看高清svg图::x进程启动时序图

    过程分拆:

    1、在启动主应用闪屏的时候,调用VirtualCore的waitForEngine方法。

    2、waitForEngine方法仅做了一件事,就是调用了ServiceManagerNative的ensureServerStarted方法。

    3、注意这个ensureServerStarted方法,它访问:x进程的BinderProvider的call方法,从而使得:x进程启动起来。

    4、BinderProvider启动时会回调onCreate方法,在其中启动后台的DaemonService,保持:x进程不被系统杀死。然后初始化各个模拟的系统服务,如VPackageManagerService、VUserManagerService、VActivityManagerService、VAppManagerService、VNotificationManagerService、VAccountManagerService等,并注册到ServiceCache中。

    5、VirtualApp是支持多用户的,其中VAppManagerService会调用UidSystem的initUidList方法来加载uid文件,得出每个插件包名和uid的对应关系,以及下一个可用的uid。



    相关文章

      网友评论

          本文标题:VirtualApp拆解之一::x进程

          本文链接:https://www.haomeiwen.com/subject/whbmxxtx.html