博客
关于我
【安卓开发系列 -- 系统分析】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/

    你可能感兴趣的文章
    postgresql 函数&存储过程 ; 递归查询
    查看>>
    PostgreSQL 分组聚合查询中 filter 子句替换 case when
    查看>>
    PostgreSQL 同步流复制锁瓶颈分析
    查看>>
    PostgreSQL 备份与还原命令 pg_dump
    查看>>
    Postgresql 外部表插件postgres_fdw的安装和使用
    查看>>
    PostgreSQL 如何从崩溃状态恢复(上)
    查看>>
    PostgreSQL 存储过程基本语法
    查看>>
    PostgreSQL 实现批量更新、删除、插入
    查看>>
    PostgreSQL 导入 .gz 备份文件
    查看>>
    PostgreSQL 批量插入&更新数据时报错(ERROR: ON CONFLICT DO UPDATE command cannot affect row a second time)
    查看>>
    PostgreSQL 新增数据返回自增ID
    查看>>
    postgresql 更新多列数据
    查看>>
    PostgreSQL 服务启动后停止
    查看>>
    PostgreSQL 辟谣存在任意代码执行漏洞:消息不实
    查看>>
    PostgreSQL+PostGIS实现两坐标点之间最短路径查询算法函数(地图工具篇.12)
    查看>>
    Qt开发——简易调色板QPalette
    查看>>
    PostgreSQL-解决连接时遇到的乱码问题
    查看>>
    PostgreSQL15.2最新版本安装_远程连接_Navicat操作_pgAdmin操作_Windows10上安装---PostgreSQL工作笔记001
    查看>>
    PostgreSQL9.1 双机部署配置(主备数据同步)
    查看>>
    Qt开发——简易网络浏览器(一)
    查看>>