Android启动过程

Android启动过程

1.  加载Linux内核

2. Android init进程对各种设备进行初始化,运行Android Framework所需用的各种Daemon(后台进程/守护进程),Context Manager,MediaServer,Zygote等

以下是init进程执行的Daemon进程:

USB Daemon(usbd): 管理USB连接

Android Debug Bridge Daemon(adbd): Android  Debug Bridge连接管理

Debugger Daemon(debuggerd): 启动Debugger系统

Radio Interface Layer Daemon(rild): 管理无线通信连接

3. Context Manager是一个管理Android系统服务的重要进程。在系统启动时,Android所有系统服务都要把各自的handle信息注册到Context Manager中

4. Media Server用于运行基于C/C++的本地系统服务,如Audio Fligger(负责音频输出),Camera等

5. Zygote进程用于缩短Android应用程序加载的时间,派生子进程,即用来执行Java应用程序的虚拟机

6. System Server是Android系统的核心进程,由Zygote进程创建,建立Android中的大部分服务,如Activity Manager Service,Locationi Manager Service等

示意图如下:

时间: 2024-10-25 02:00:13

Android启动过程的相关文章

Android启动过程深入解析

Android启动过程深入解析 2014/06/20 分享到:7 本文由 伯乐在线 - 云海之巅 翻译.未经许可,禁止转载!英文出处:kpbird.欢迎加入翻译小组. 当按下Android设备电源键时究竟发生了什么? Android的启动过程是怎么样的? 什么是Linux内核? 桌面系统linux内核与Android系统linux内核有什么区别? 什么是引导装载程序? 什么是Zygote? 什么是X86以及ARM linux? 什么是init.rc? 什么是系统服务? 当我们想到Android启

Android 启动过程的底层实现

转载请标明出处: http://blog.csdn.net/yujun411522/article/details/46367787 本文出自:[yujun411522的博客] 3.1 android正常模式启动流程 主要流程例如以下: 1.系统加电.运行bootloader,bootloader会将内核载入到内存中. 2.内核载入到内存之后首先进入内核引导阶段,最后调用start_kernel进入内核启动.start_kernel终于会启动init程序 3.init程序负责解析init.rc文

Android启动过程中背景图片显示

转自:http://blog.csdn.net/zhangzhikaixinya/article/details/17001321 大部分Android App启动过程中,都会设置一个背景图片,直到App加载成功,图片消失.因此,这也是做Android App的基本技能之一.这个过程实现起来并不难. 总共需要以下内容:2个Activity,一张背景图,2个xml配置文件,String.xml,AndroidManifest写入配置信息. 1 准备一张背景图图片,命名为load,自己选择图片格式.

第四章 Android启动过程的上层实现

Android中有两个世界,一个是Java世界,一个是Native世界.第三章介绍的是native世界的启动,那么java世界是什么时候启动的呢?还记得在解析完init.rc文件之后启动很多的服务,其中非常重要的两个服务就是zygote和servicemanager.其中zygote就是android世界的第一个虚拟机,在android中扮演非常重要的角色,下面讨论的内容就是android启动剩下的流程,先看一个android上层启动的流程: 1 ini进程在解析完init.rc文件之后启动了一

Android启动过程——init,Zygote,SystemServer

一.Android设备启动经历的三个阶段:Boot Loader:Linux Kernel.Android系统服务:每一个阶段都有自己的启动画面. 1.Android中第一个被启动的进程--init,init进程的PID为1,其它的服务都由其进行创建.它是通过解析init.rc脚本来构建出系统的初始执行状态的.init进程是在系统启动启动过程中启动的. 2.init.rc语法规则: 1)Actions动作 一个Action实际上就是对应某个事件的过程. 以下给出boot事件的脚本 /* \sys

Android启动过程——init.rc,Zygote,SystemServer

一.Android设备启动经历的三个阶段:Boot Loader:Linux Kernel:Android系统服务:每个阶段都有自己的启动画面. 1.Android中第一个被启动的进程--init,init进程的PID为0,其他的服务都由其进行创建.它是通过解析init.rc脚本来构建出系统的初始运行状态的.init进程是在系统启动启动过程中启动的. 2.init.rc语法规则: 1)Actions动作 一个Action实际上就是相应某个事件的过程.下面给出boot事件的脚本 /* \syste

Android启动过程介绍

开机过程大致可以分为以下三个阶段 OS级别 由bootloader载入linux kernel后,kernel开始初始化, 并载入built-in的驱动程序.Kernel完成开机后,载入init process,切换至user-space后,结束kernel 的循序过程(sequence),进入排程模式(process scheduling). Android级别 /system/core/init/init.cpp 由init process 开始,读取init.rc,Native服务启动,并

第三章 Android 启动过程的底层实现

转载请标明出处: http://blog.csdn.net/yujun411522/article/details/46367787 本文出自:[yujun411522的博客] 3.1 android正常模式启动流程 主要流程如下: 1.系统加电,执行bootloader,bootloader会将内核加载到内存中. 2.内核加载到内存之后首先进入内核引导阶段,最后调用start_kernel进入内核启动,start_kernel最终会启动init程序 3.init程序负责解析init.rc文件并

java 学习第9课,java android 项目的安装与启动过程

android 安装过程: 开发工具先把.java文件转换成.class,然后转换成dx,再签名打包成apk,最后在设备上执行 adb install c:\xxx.apk android 启动过程: 双击设备上的图标,创建进程-> 创建主线程 -> 在主线程中实例化 Activity(操作系统会把应用有关的信息context存进activity中,然后调用onCreate(). ) package com.example.hello; import android.app.Activity;