Activity与WindowManagerService服务的连接过程分析

时间:2022-04-04 06:24:59

Activity组件与WindowManagerService服务之间的连接模型如下图所示:

Activity与WindowManagerService服务的连接过程分析

1. Activity组件 -> WindowManagerService的连接

Activity会从WMS中获得一个实现了IWindowSession接口的Session代理对象来标志

2. WindowManagerService -> Activity组件的连接

每一个Activity组件都关联一个实现了IWindow接口的W对象,这个W对象在Activity组件的视图对象创建完成之后,就会通过前面所获得一个Session代理对象来传递给WindowManagerService服务,而WindowManagerService服务接收到这个W对象之后,就会在内部创建一个WindowState对象来描述与该W对象所关联的Activity组件的窗口状态,并且以后就通过这个W对象来控制对应的Activity组件的窗口状态