安卓系统的启动
创始人
2024-01-31 02:22:38
0

Init.rc启动

  • 创建和挂在启动所需的文件目录
  • 初始化和启动属性服务
  • 解析init.rc配置文件并启动Ztgote进程

Zygote进程

  • 创建一个Server端的Socket
  • 预加载类和资源
  • 启动SystemServer进程
  • 等待AMS请求创建新的应用程序进程

SystemServer进程

  • 启动Binder线程池,这样就可以与其他进程进行通信

  • 创建SystemServerManager,对于系统的服务进行创建,启动和生命周期管理

  • 启动各种系统服务

SystemServer进程源代码

请添加图片描述

SystemServer启动核心服务

请添加图片描述

Launcher启动过程

主要作用

  • 作为安卓系统的启动器,用于启动应用程序
  • 作为安卓系统的桌面,用于显示和管理应用程序的快捷图标或者其他桌面组件

2.5 Android系统启动流程

​ 结合本章前4节的内容,我们可以清晰地总结出Android系统启动流程,这个流程主要有以下几个部分。

  1. 启动电源以及系统启动

    当电源按下时引导芯片代码从预定义的地方(固化在 ROM)开始执行。加载引导程序BootLoader 到 RAM,然后执行。

  2. 引导程序 BootLoader

    引导程序 BootLoader是在 Android 操作系统开始运行前的一个小程序,它的主要作用是把系统 OS拉起来并运行。

  3. Linux 内核启动

    当内核启动时,设置缓存、被保护存储器、计划列表、加载驱动。当内核完成系统设置时,它首先在系统文件中寻找init.rc 文件,并启动init 进程。

  4. init 进程启动

    初始化和启动属性服务,并且启动Zygote 进程。

  5. Zygote 进程启动

    创建Java 虚拟机并为Java 虚拟机注册 JNI方法,创建服务器端 Socket,启动SystemServer 进程。

  6. SystemServer 进程启动

    启动 Binder 线程池和 SystemServiceManager,并且启动各种系统服务。

  7. Launcher启动

    被SystemServer进程启动的AMS会启动Launcher,Launcher启动后会将已安装应用的快捷图标显示到界面上。

相关内容

热门资讯

谷歌起诉爬虫公司SerpApi... IT之家 12 月 21 日消息,据科技媒体 The Verge 昨天报道,谷歌已对爬虫工具开发商 ...
两岸政策引发美国焦虑?郑丽文被... 在郑丽文当选国民党主席之后,为什么会引发美国的焦虑?美方约谈郑丽文,又对国民党提出了怎样的要求? 1...
给“信贷漏洞”打上“制度补丁” “我们对内控制度和信贷系统进行了全面完善和升级,进一步明确了贷前调查、贷中审查、贷后管理等各环节的操...
丈夫生前向情人转账上百万,妻子... 丈夫吴某在家突发疾病去世后,妻子刘某发现,二人婚姻存续期间,吴某曾与陈某存在不正当关系,并向其赠与大...
权威电商纠纷律师推荐,林之晨律... 在电商行业蓬勃发展的当下,电商纠纷日益增多,寻找一位权威、靠谱且性价比高的电商纠纷律师至关重要。那么...
湖北大冶警方:男子因家庭纠纷情... 大冶公安查处一起妨碍交通工具正常行驶案件 2025年12月20日15时许,我辖区居民刘某(男,41岁...
女子醉驾找人“摆平”被骗7万后... 因醉酒驾驶轻信他人“可摆平”的谎言被骗,女子葛某乙不堪压力自杀身亡。在实施诈骗的苏某被判刑并赔偿后,...
2026年,山西将实现政策范围... 近日,省医保局发布消息,我省通过提高保障水平、优化经办服务,切实减轻参保职工生育医疗负担,2025年...
原创 上... 上海之后,广州也出台18条政策,将大力扶持游戏电竞行业,继上海率先加码电竞产业扶持之后,广州的跟进并...