为了更好的理解WMS,首先要了解PhoneWindow,Window,WindowManager,WindowManagerImpl之间的关系。
本文只作为个人对知识点的概括记忆,具体内容需要对相关知识点自行查询。
WindowManagerService是运行在System Server的一个进程,所以应用进程与WindowManagerService的交互是一个IPC的过程,具体流程如下图所示:
Window和WindowManager的关系如下图所示。
PhoneWindow继承自Window,Window通过setWindowManager方法与WindowManager发生关联。WindowManager继承自接口ViewManager,WindowManagerImpl是WindowManager接口的实现类,但是具体的功能都会委托给WindowManagerGlobal来实现。
图片来自网络,侵删。(本图需要斟酌)