关于作者:CSDN内容合伙人、技术专家, 从零开始做日活千万级APP。 专注于分享各领域原创系列文章 ,擅长java后端、移动开发、人工智能等,希望大家多多支持。 我们继续总结学习Android 基础知识,温故知新。 还是在多年前做系统应用开发的时候,通过编译源码学习了一遍APP的启动过程, 最近在整理应用启动优化相关的文档,打算重新梳理一遍,并整理成一个通俗易懂的文档,以备后面查看。 在学习过程中,大家最好是把源码下载下来。 1.1 启动知识储备 启动过程比较复杂,涉及到的知识点非常多,建议通过其他文章进行学习。 1.2 Zygote进程 Zygote进程是Android设备启动时由init进程创建和启动,之后不断接收来自应用程序的请求。 Zygote进程预先创建一个虚拟机和一些共享资源,以提高应用程序的启动速度和系统资源的利用效率。 同时,Zygote进程也负责处理应用程序进程的环境初始化和加载核心类库等操作。 每当有新的应用程序启动请求到达时,Zygote进程会fork出一个子进程(应用程序进程)来运行该应用程序。 1.3 SystemServer进程...