美文网首页
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