文章预览
系列: 再学安卓 - SystemServer 再学安卓 - Zygote 再学安卓 - init进程 前言 到上一篇结束,我们已经概括的梳理出系统启动过程中创建的主要进程,本篇我们就来看看与我们息息相关的APP进程从无到有是怎么诞生的。本篇内容也是系统启动章节的最后一篇。 既然是关注从无到有,那么我们就明确一点,本篇讲述的是Launcher冷启动APP的主线流程,着重关注Zygote和SystemServer如何配合创建APP进程的过程。AMS (ActivitiyManagerService)和ATMS (ActivityTaskManagerService)对于Activity的管理逻辑、启动之前的条件逻辑等我们都暂时略过。 以下是Zygote、SystemServer、APP进程之间的通信关系概括图。 1 Launcher Launcher在收到点击图标事件后会辗转来到 Activity.startActivity() ,然后间接调用以下函数。 // frameworks/base/core/java/android/app/Instrumentation.java public ActivityResult execStartActivity (
………………………………