Android(安卓)核心分析(12) -----Android(安卓)GEWS窗口管理之基本架构原理
16lz
2021-12-04
Android GWES之窗口管理之基本构架原理
Android的窗口管理是C/S模式的。Android中的Window是表示TopLevel等顶级窗口的概念。DecorView是Window的Top-LevelView,这个View我称之为主View,DecorView会缺省的attach到Activity的主窗口中。主View被加入到WindowManager中,WM使用WindowState与这个主View对应。
Activity建立一个主窗口后,在将主窗口添加到WindowManager时,首先要建立WindowManager代理对象,并打开一个会话(实现IWindowSessionAIDL接口),并维持该会话。Activity将通过该会话与WindowManager建立联系,这个Session是C/S体系的基础,Client通过WindowSession将window加入到WindowManager中。一个完整的窗口概念横跨了View,ViewRoot,WindowManagerService。Window,DecorView,View,IWindow,ISession,WindowState之间的关系如下:
客户端的Activity通过Session会话与WindowManager建立对话,而WindowManager则通过IWindow接口访问Client,将消息传递到Client端,通过消息分发渠道,将消息传递到处理函数OnXXX。
后面我们将通过Client,WMService分别加以分析。
更多相关文章
- Android的Window类 [转]
- Android系统Surface机制的SurfaceFlinger服务渲染应用程序UI的过
- Android(安卓)之 Window、WindowManager 与窗口管理
- [Android]直接使用代码建立Android视图元件
- Android的Window类
- android的窗口机制分析------事件处理
- Android(安卓)Display System --- Surface Flinger
- 软键盘显示及属性android:windowSoftInputMode使用总结 & [转一
- android:windowSoftInputMode属性使用