【Android 13源码分析】WMS-添加窗口(addWindow)流程-2-SystemService进程处理
💡
原文中文,约13500字,阅读约需32分钟。
📝
内容提要
本文是Android 13源码分析中WMS-添加窗口流程的第二部分,介绍了SystemService进程处理剩下的逻辑,包括SystemServer进程处理、WindowManagerService::addWindow方法概览、Token相关、WindowState的创建和挂载等。文章还解答了之前提出的疑问。
🎯
关键要点
- 本文为Android 13源码分析中WMS-添加窗口流程的第二部分,重点介绍SystemService进程的处理逻辑。
- SystemServer进程负责处理窗口的创建和挂载,主要通过WindowManagerService::addWindow方法实现。
- addWindow方法中包含权限检查、Token处理、WindowState创建和挂载等多个步骤。
- Token是WindowToken,WindowState的父节点通常是WindowToken,确保窗口的层级关系。
- addWindow方法的主要工作包括获取Token、创建WindowState、调整窗口参数、验证窗口添加权限等。
- WindowState的创建和挂载是addWindow流程的核心,确保窗口能够正确显示在界面上。
- addWindow流程中,WindowState通过ActivityRecord与应用进程的窗口进行关联。
- 总结中提到,WMS中没有直接的Window对象,而是通过WindowState与应用进程的ViewRootImpl进行通信。
➡️