Android技术20:Android的初始化流程_移动开发_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > 移动开发 > Android技术20:Android的初始化流程

Android技术20:Android的初始化流程

 2014/8/14 3:13:28  Forsta  程序员俱乐部  我要评论(0)
  • 摘要:Android系统是如何启动的呢,应用程序是如何启动。下面简要介绍下初始化流程。1.Android系统的初始化1.1Android系统会首先启动Linux基础系统,然后引导加载Linux内核并启动初始化进程InitLinuxKernel---->Init(pid=1)1.2启动守护进程Daemons启动Usb守护进程,管理USB连接启动AndroidDebugBridge守护进程管理ADB连接启动DebuggerdDebug守护进程启动无线接口守护进程管理无线通信1.3启动守护进程的同时
  • 标签:android 流程 技术

Android系统是如何启动的呢,应用程序是如何启动。下面简要介绍下初始化流程。

1.Android系统的初始化

1.1Android系统会首先启动Linux基础系统,然后引导加载Linux内核并启动初始化进程Init

Linux Kernel---->Init(pid=1)

1.2启动守护进程Daemons

    启动Usb守护进程,管理USB连接

    启动Android Debug Bridge守护进程管理ADB连接

    启动Debuggerd Debug守护进程

    启动无线接口守护进程管理无线通信

1.3启动守护进程的同时,会启动Zygote进程

    创建初始化Dalvik初始化实例

    加载socket请求的需要的类和监听

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

 

         |  Daemons

init----

         |  Zygote

1.4接下来,初始化Runtime进程

     初始化服务管理器Service Manager

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

1.5启动系统服务System Service

     Runtime向Zygote发送一个请求,Zygote为系统服务创建一个Dalvik虚拟机实例,并启动系统服务,系统服务将启动原生系统服务,主要包括Audio Flinger和Surface Flinger,这些本地系统服务将注册到服务管理器。系统服务将启动Android管理服务,将管理服务都被注册到服务管理器上。

1.6系统加载完成,等待应用程序启动

1.7Activity Manager管理器向Zygote发出一个Socket请求,Zygote通过fork机制创建一个Dalvik虚拟机进程,来运行应用程序

    所有的应用程序进程都是Zygote进程的子进程,每一个应用程序一个进程一个虚拟机。

    

 

上一篇: Android开发之登录验证 下一篇: 没有下一篇了!
  • 相关文章
发表评论
用户名: 匿名