美文网首页
Android的初始化流程

Android的初始化流程

作者: Winston825 | 来源:发表于2014-11-30 14:15 被阅读231次

    一、启动Linux基础系统,然后引导加载Linux Kernel并初始化进程(init)

    二、启动Linux守护进程(daemons)

        启动USB守护进程(usbd):管理USB连接

        启动Android Debug Bridge守护进程(adbd):管理ADB连接

        启动Debug守护进程(debuggerd):管理调试进程请求

       启动无线接口守护进程(rild):管理无线通信

        同时启动Zygote进程:

        1.初始化一个Dalvik虚拟机实例

        2.装载Socket请求所需的类和监听

        3.创建虚拟机实例来管理应用程序的进程

    三、初始化runtime进程

        1.初始化服务管理器(Service Manager)

        2.注册服务管理器,以它作为默认的Binder服务的Context管理器

        runtime进程初始化之后,发送一个请求到Zygote,开启系统服务,此时Zygote为系统服务(System Server)建立一个虚拟机实例,并启动系统服务。

        系统服务启动原生系统服务,主要包括Surface Flinger和Audio Flinger。这些本地系统服务都将注册到服务管理器作为IPC的服务目标。

        系统服务启动Android管理服务,并注册到服务管理器上。

    系统加载完所有服务后处于等待状态,等待程序运行。

    注释:内容来自《Android技术内幕》

    相关文章

      网友评论

          本文标题:Android的初始化流程

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