Android——简单易懂说原理之Android系统启动流程及应用程序进程启动过程(热修复、插件化基础)

本文以简单易懂的方式介绍了Android系统的启动流程,包括init进程、Zygote进程、SystemServer进程和Launcher的作用。同时阐述了应用程序进程启动过程,强调Zygote的孵化角色,以及Binder线程池和消息循环在进程间通信中的关键功能。
摘要由CSDN通过智能技术生成

写在前面:这是“简单易懂说原理”系列的第二篇文章。有很多阅读源码的讲解文章,其实很多人是看不进去的,比如我,一堆源码当时能看懂,但是在脑中形成不了图,正所谓记得快忘的也快,所以这次准备利用图表+文字的形式来尝试用简单易懂的方式来讲述下常见功能的背后原理。

这次准备写一些比较底层原理的东西,但是又不想受制于系统版本的限制,基本是一个共通的原理。目前的想法应该会是一个由几篇文章组成的一个系列。写这个系列的初衷是现在无论是热修复还是插件化都太火了,但是不懂底层原理仅会用框架这种,一旦环境有变化,或者原有框架不再维护,成本总是很高的。同时,为了提高自己的职场竞争力,也不能总在纯开发应用的初级工程师层次待着不是。

一、Android系统启动流程

先上图。
在这里插入图片描述
整体上大概可以是以上这么几大步骤。其中:

  • init进程:是Android系统中用户空间的第一个进程,进程号为1。它是由多个源文件共同组成的,这些文件位于源码目录system/core/init中。
  • Zygote进程:是init进程解析init.rc配置文件后启动的。在Android系统中,DVM(Android 5.0前)和ART(Android 5.0开始默认采用)、应用程序进程以及运行系统的关键服务SystemServer进程都是由Zygote进程创建的,我们将它称为“孵化器”。
    Z
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值