Android GWES之窗口管理之基本构架原理

Android的窗口管理是C/S模式的。Android中的Window是表示TopLevel等顶级窗口的概念。DecorViewWindowTop-LevelView,这个View我称之为主ViewDecorView会缺省的attachActivity的主窗口中。主View被加入到WindowManager中,WM使用WindowState与这个主View对应。


Activity建立一个主窗口后,在将主窗口添加到WindowManager时,首先要建立WindowManager代理对象,并打开一个会话(实现IWindowSessionAIDL接口),并维持该会话。Activity将通过该会话与WindowManager建立联系,这个SessionC/S体系的基础,Client通过WindowSessionwindow加入到WindowManager中。一个完整的窗口概念横跨了ViewViewRootWindowManagerServiceWindowDecorViewViewIWindow,ISessionWindowState之间的关系如下:

客户端的Activity通过Session会话与WindowManager建立对话,而WindowManager则通过IWindow接口访问Client,将消息传递到Client端,通过消息分发渠道,将消息传递到处理函数OnXXX

后面我们将通过ClientWMService分别加以分析。

更多相关文章

  1. Android的Window类 [转]
  2. Android系统Surface机制的SurfaceFlinger服务渲染应用程序UI的过
  3. Android(安卓)之 Window、WindowManager 与窗口管理
  4. [Android]直接使用代码建立Android视图元件
  5. Android的Window类
  6. android的窗口机制分析------事件处理
  7. Android(安卓)Display System --- Surface Flinger
  8. 软键盘显示及属性android:windowSoftInputMode使用总结 & [转一
  9. android:windowSoftInputMode属性使用

随机推荐

  1. Android 媒体库数据更新
  2. android XML layout
  3. Android之电话拨号器
  4. ScrollView属性fillViewport解决android
  5. FAQ00366]如何使Android应用程序获取系统
  6. Android(安卓)UI系列-----ScrollView和Ho
  7. Android开发面试经——4.常见Android进阶
  8. Android(安卓)C调用Java
  9. Android第四十四期 - 登录界面的动画
  10. 【android】Android Studio2.3打包提示Pl