《Android框架揭秘》笔记

Android启动过程包含从Linux内核加载到Home应用程序启动的整个过程。

1. Linux内核

Android启动时首先通过bootloader加载Linux内核。启动Linux内核将挂载根文件系统,然后初始化系统环境,最后启动init进程(第一个进程),完成启动。

2. init进程

init进程对各种设备进行初始化(??), 解析init.rc脚本,运行Android Framework所需要的各个Daemon、Context Manager、Media Server以及Zygote等

1) Context Manager提供Android各种系统服务相关的信息,系统启动时所有系统服务都要把各自的handle注册到Context Manager。

2) Meida Server 用于运行本地系统服务,如Camera等。

3) Zygote进程用于缩短Android应用程序加载时间。每当启动Java应用程序时,Zygote就会fork 一个子进程来执行Java程序。

3. System Server

System Server是Android系统中的一个核心进程,它由Zygote进程创建。 System Server 建立Android中的大部分服务,如Activity Manager Service、Location Manager Service(这些服务会注册到Context Manager当中,提供给app或Framework调用)

4. Home

System Server启动服务后, 将在Activity Manager Service的回调方法systemReady()方法中启动第一个应用程序Home

Android Framework的启动过程_第1张图片

参考:

http://www.linuxidc.com/Linux/2011-04/33966p8.htm

http://www.2cto.com/os/201109/103386.html

更多相关文章

  1. android系统框架()
  2. Android init进程——属性服务
  3. android 进程间通信使用aidl和Messenger类
  4. windows系统Android模拟器安装apk
  5. Android用户apk如何获得系统(system)权限
  6. Android 学生管理系统 之 SQLite数据库操作
  7. Android 系统稳定性之ANR
  8. Android中杀进程的几种方法 (1) - killBackgroundProcesses
  9. Android编译系统详解

随机推荐

  1. ubuntu android 环境变量的配置
  2. PUSH机制
  3. 动态修改ViewPagerIndicator CustomTabPa
  4. Android设计开发要必用的Color.xml文件整
  5. Android(安卓)ScrollView嵌套ScrollView
  6. Android常用的多渠道打包方式整理(不断更
  7. Android(安卓)浅谈MatrixCursor
  8. Android实现获取短信验证码并自动填写功
  9. Android(安卓)多线程通信 Handler
  10. android半透叠加对照表