博客
关于我
【安卓开发系列 -- 系统分析】Framework -- Android 系统一般启动流程简介
阅读量:371 次
发布时间:2019-03-04

本文共 922 字,大约阅读时间需要 3 分钟。

Android系统启动流程简介

Android系统启动流程可分为几个关键阶段,每个阶段都有其特定的功能和作用。以下从高到低详细阐述各个层次的启动过程。

一、整体启动流程概述Android系统启动流程主要包含以下几个层次:

  • Loader层:包括BootRom和BootLoader
  • Kernel层:Android内核
  • Native层:init进程及相关系统服务
  • Framework层:AMS、PMS等核心服务
  • Application层:SystemUI、Launcher等用户应用
  • 二、详细启动流程解析

  • Bootloader引导程序Bootloader的主要职责包括:
    • 硬件初始化:完成设备的基础配置
    • 系统加载:将内核和根文件系统从存储设备加载到内存中
    • 加速启动:优化内核的启动效率
    1. Linux内核启动
      • 初始化软硬件环境:配置网络、存储、内存等
      • 加载驱动:安装设备相关的硬件驱动-挂载文件系统:完成根文件系统的访问准备内核启动完成后,会自动启动init进程,进入Android系统的启动阶段。
      1. init进程作为Linux系统中用户空间的第一个进程(进程号1),init进程的主要功能包括:
        • 文件系统管理
        • 属性服务提供
        • 解析init.rc脚本
        • 创建Zygote进程
        1. Zygote进程Zygote进程是Android系统中所有应用进程的父进程,其主要作用是:
          • 创建应用进程
          • 管理应用进程的生命周期
          • 提供基础的服务支持
          1. System Server进程System Server是Android系统的核心服务进程,主要功能包括:
            • 启动系统服务:ActivityManagerService、PackageManagerService、WindowManagerService等
            • 提供硬件服务:与HAL层通信
            • 应用程序接入:通过System Server获取系统服务句柄
            1. Launcher应用作为Android系统的第一个用户应用,Launcher的主要职责是:
              • 初始化桌面界面
              • 启动其他应用程序
              • 提供用户交互入口

              三、参考与致谢本文内容基于个人学习笔记,参考了多方资料,包括专业书籍和网络资源。在此对所有提供帮助的作者表示感谢。如有不当之处,请随时指出。

    转载地址:http://gvmr.baihongyu.com/

    你可能感兴趣的文章
    Objective-C 编码规范
    查看>>
    Objective-Cfor循环实现Factorial阶乘算法 (附完整源码)
    查看>>
    Objective-C——判断对象等同性
    查看>>
    objective-c中的内存管理
    查看>>
    Objective-C之成魔之路【7-类、对象和方法】
    查看>>
    Objective-C享元模式(Flyweight)
    查看>>
    Objective-C以递归的方式实现二叉搜索树算法(附完整源码)
    查看>>
    Objective-C内存管理教程和原理剖析(三)
    查看>>
    Objective-C实现 Greedy Best First Search最佳优先搜索算法(附完整源码)
    查看>>
    Objective-C实现 jugglerSequence杂耍者序列算法 (附完整源码)
    查看>>
    Objective-C实现 lattice path格子路径算法(附完整源码)
    查看>>
    Objective-C实现1000 位斐波那契数算法(附完整源码)
    查看>>
    Objective-C实现2 个数字之间的算术几何平均值算法(附完整源码)
    查看>>
    Objective-C实现2d 表面渲染 3d 点算法(附完整源码)
    查看>>
    Objective-C实现2D变换算法(附完整源码)
    查看>>
    Objective-C实现3n+1猜想(附完整源码)
    查看>>
    Objective-C实现3n+1猜想(附完整源码)
    查看>>
    Objective-C实现9x9乘法表算法(附完整源码)
    查看>>
    Objective-C实现9×9二维数组数独算法(附完整源码)
    查看>>
    Objective-C实现A*(A-Star)算法(附完整源码)
    查看>>