如果不是 zygote,哪个组件将事件和意图传递给我们的应用程序?

问题描述

我对实际生命周期流程的实现方式感到困惑。
用户单击应用程序图标时,该单击会转到名为 Zygote 的特殊应用程序,然后该应用程序会派生出一个新进程来运行被单击的应用程序。我能理解这样做的好处。

我不清楚的是,新的应用程序是如何真正开始进入 android 生命周期的? IE。主要活动是如何加载的,哪些代码运行以及生命周期事件/意图是如何在检查 Zygote 代码时传递/处理的 我没有看到比分叉更重要的事情。
我理解它的方式必须不仅仅是合子分叉一个过程,但我无法弄清楚是什么。 有没有人对这个主题有任何了解/指导?

解决方法

此代码的大部分是/曾经在 ActivityManagerService 类中。它使用一些本机代码,但该类负责启动进程、将活动启动到进程中、调度广播 Intent 等。

这可能在某个时候发生了变化,我不能保证它仍然像这样工作。