Android GEWS 窗口治理的基本架构原理
Android GEWS 窗口管理的基本架构原理
Android GEWS 窗口管理的基本架构原理
GEWS--图形窗口事件系统
Android 的窗口管理是C/S 模式的。Android 中的Window 是表示Top Level 等顶级窗口
的概念。DecorView 是Window 的Top-Level View,称之为主View,DecorView会缺省的attach 到Activity 的主窗口中。主View 被加入到WindowManager 中,WM 使用WindowState 与这个主View 对应。
Activity 建立一个主窗口后,再将主窗口添加到WindowManager 时,首先要建立
WindowManager 代理对象,并打开一个会话(实现IWindowSession AIDL 接口),并维持该会话。Activity 将通过该会话与WindowManager 建立联系,这个Session 是C/S 体系的基础,Client 通过WindowSession 将window 加入到Window Manager 中。一个完整的窗口概念横跨了View , ViewRoot , WindowManager Service 。View,GroupView,DecorView,ViewRoot 都是存在于Client 端,只有WindowState 这个概念存在于Window Manager Service 端。
客户端的Activity 通过Session 会话与WindowManager 建立对话,而WindowManager
则通过IWindow 接口访问Client,将消息传递到Client 端,通过消息分发渠道,将消息传递
到处理函数OnXXX。
Android GEWS 窗口管理的基本架构原理
GEWS--图形窗口事件系统
Android 的窗口管理是C/S 模式的。Android 中的Window 是表示Top Level 等顶级窗口
的概念。DecorView 是Window 的Top-Level View,称之为主View,DecorView会缺省的attach 到Activity 的主窗口中。主View 被加入到WindowManager 中,WM 使用WindowState 与这个主View 对应。
Activity 建立一个主窗口后,再将主窗口添加到WindowManager 时,首先要建立
WindowManager 代理对象,并打开一个会话(实现IWindowSession AIDL 接口),并维持该会话。Activity 将通过该会话与WindowManager 建立联系,这个Session 是C/S 体系的基础,Client 通过WindowSession 将window 加入到Window Manager 中。一个完整的窗口概念横跨了View , ViewRoot , WindowManager Service 。View,GroupView,DecorView,ViewRoot 都是存在于Client 端,只有WindowState 这个概念存在于Window Manager Service 端。
客户端的Activity 通过Session 会话与WindowManager 建立对话,而WindowManager
则通过IWindow 接口访问Client,将消息传递到Client 端,通过消息分发渠道,将消息传递
到处理函数OnXXX。