Android 核心分析(12) -----Android GEWS窗口管理之基本架构原理
原文地址:http://blog.csdn.net/maxleng/article/details/5554454
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 APP UI卡顿的原理
- Android开发艺术探索——第十章:Android的消息机制
- Android消息机制不完全解析(上)
- Android普通对话框原理
- Android监听消息通知栏点击事件
- android带消息红点的视图,超简洁的实现