Activity启动流程

手机游戏开发者 2024-9-3 08:35:21 21 0 来自 中国
以下源码基于android-11.0.0_r1
启动一个Activity,通常有两种环境:第一种是差异进程的的根activity,好比laucnher启动app;第二种是同进程内部启动activity。这两种环境的启动流程雷同,大抵分为以下三个步调:

  • 调用进程的activity收集好信息后,向system_server进程的ActivityTaskManagerSrvice服务发起哀求。
  • ATMS向PKMS探求启动的activity的信息和进程信息,假如启动的activity没有被创建,则创建新进程,之后管理activity栈,并回调启动activity所在进程的ApplicationThread类。
  • ApplicationThread通过调用ActivityThread来反射创建并启动Activity。
以下就逐一讲授这三大过程:
一、从startActivity到ATMS

下图是调用进程向system_server进程发起哀求的过程:

无论是startActivity照旧startActivityForResult终极都是调用startActivityForResult
您需要登录后才可以回帖 登录 | 立即注册

Powered by CangBaoKu v1.0 小黑屋藏宝库It社区( 冀ICP备14008649号 )

GMT+8, 2024-12-4 16:23, Processed in 0.198350 second(s), 32 queries.© 2003-2025 cbk Team.

快速回复 返回顶部 返回列表