文章预览
本文基于 android-14.0.0_r15 版本讲解 英文缩写说明: AMS : ActivityManagerService ATMS : ActivityTaskManagerService Android 在 Java 层弱化了进程的概念,建立了四大组件框架。这套框架中最核心的组件就是 AMS,在 Android10 及以后,AMS 的部分功能迁移到了 ATMS。接下来我们通过分析四大组件的启动过程来了解 AMS/ATMS 的内部实现。我们首先分析 Activity 的启动过程。 1 整体框架分析 首先明确 Activity 的启动过程涉及到多个进程: 源 App 进程 SystemServer Zygote 目标 App 进程 在分析代码之前我们需要了解 App(包括了源 App 与目标 App) 与 SystemServer 之间的 Binder 通信通道。 SystemServer 中注册了一个 Java Binder 服务 ATMS,其主要作用是作为服务端向客户端 App 提供管理 Activity 的接口: startActivity finishActivity activityResumed activityPaused activityStopped activityDestroyed // ...... App 进程作为客户端
………………………………