上图中包含了WMS中的所有容器,各个子容器含义如下:

  1. ConfigurationContainer:最顶层容器,定义了多个Configuration对象,以及提供了用来组织各容器层级的公共逻辑;
  2. WindowProcessController:用于和AMS中的ProcessRecord进行通讯,当ProcessRecord中对应用进程作出调整后,通过WindowProcessController和WM进行通信;
  3. WindowContainer:作为可以保存窗口类父类,定义了用于操作窗口的所有公共方法;
  4. RootWindowContainer:窗口容器在树结构中的根节点;
  5. DisplayContent:作为RootWindowContainer的子节点,用于管理同一个逻辑屏的窗口;
  6. DisplayChildWindowContainer:DisplayContent中的所有子节点的父类;
  7. NonAppWindowContainers:继承于DisplayChildWindowContainer,主要保存非来自应用的WindowToken;
  8. WindowContainers:只包含一个子节点——DisplayArea.Root,大部门窗口都会保存在这个容器中;
  9. DisplayArea:用于对DisplayContent中的节点进行分组管理,主要分为了三类;
  10. Root:DisplayArea的子类,该容器作为DisplayContent中最顶层的显示区域,用来保存Tokens、TaskDisplayArea、ImeContainer容器;

Android R WindowManagerService模块(1) WMS整体架构及启动过程相关推荐

  1. Android R WindowManagerService模块(3) Window的relayout过程

    // 根据flag是否发生变化做出对应响应,略- - } // 根据应用请求设置宽高,获取窗口缩放比例 win.setWindowScale(win.mRequestedWidth, win.mReq ...

  2. etcd 笔记(05)— etcd 代码结构、各模块功能、整体架构、各模块之间的交互、请求和应答流程

    1. etcd 项目结构和功能 etcd 项目代码的目录结构如下: $ tree ├── auth ├── build ├── client ├── clientv3 ├── contrib ├── ...

  3. cm-14.1 Android系统启动过程分析(8)-应用程序进程启动过程

    文章目录 声明 0 写在前面 1 什么应用程序进程? 2 应用程序进程的启动过程 2.1 AMS发送启动应用程序进程请求 2.2 Zygote接收AMS的请求并创建应用程序进程 3 启动线程池 4 创 ...

  4. [日更-2019.4.26、27、28] cm-14.1 Android系统启动过程分析(四)-应用程序进程启动过程...

    2019独角兽企业重金招聘Python工程师标准>>> 声明 前阶段在项目中涉及到了Android系统定制任务,Android系统定制前提要知道Android系统是如何启动的: 本文 ...

  5. Android系统进程间通信(IPC)机制Binder中的Server启动过程源代码分析

    原文地址: http://blog.csdn.net/luoshengyang/article/details/6629298 在前面一篇文章浅谈Android系统进程间通信(IPC)机制Binder ...

  6. Android KK(4.4) 以太网和DHCP启动过程介绍

    Android KK(4.4) 以太网和DHCP启动过程介绍 1. ethernet启动流程 2. DHCP启动过程 2.1 JNI层接口 2.2 DHCP客户端(libnetutils) 2.3 D ...

  7. Android系统启动流程(四)Launcher启动过程与系统启动流程

    相关文章 Android系统架构与系统源码目录 Android系统启动流程(一)解析init进程启动过程 Android系统启动流程(二)解析Zygote进程启动过程 Android系统启动流程(三) ...

  8. Android应用程序进程启动过程

    相关文章 Android系统架构与系统源码目录 Android系统启动流程(一)解析init进程启动过程 Android系统启动流程(二)解析Zygote进程启动过程 Android系统启动流程(三) ...

  9. Android 启动过程简析(一)之 init 进程

    问题 在进入到 Android 启动过程之前先让我们思考以下几个问题 Android 系统的启动过程是怎样的? init .zygote 进程是什么?在系统启动的过程中各自发挥了什么作用? AMS.P ...

最新文章

  1. 中原大学 php,台湾中原大学php教程孙仲岳主讲
  2. 剑指offer:把数组排成最小的数
  3. CVE-2018-20169漏洞学习
  4. 异常处理第三讲,SEH(结构化异常处理),异常展开问题
  5. Response_案例3_输出字节数据
  6. js优化阿里云图片加载(二)
  7. XFire下根据WSDL生成Client Stub,并测试Client
  8. 【Linux系统编程学习】 GDB调试器的简单使用
  9. idea怎么把代码放到git_在IntelliJ IDEA中同步代码到华为云git仓库 (on windows)
  10. Ubuntu,QT5连接MySQL
  11. 计网实验1--配置路由
  12. 《libGDX移动游戏开发从入门到精通》一1.5 其他的一些准备工作
  13. linux 生成bmp,linux下生成bmp图片的测试程序
  14. ubuntu 外置硬盘安装
  15. Ubuntu:Terminal终端命令
  16. 服务器装系统鼠标键盘不能动,装系统鼠标键盘不能动
  17. 男cd是啥意思_伪娘cd是什么意思
  18. html src认证,html – SRCSET的W3C验证
  19. 后门防御阅读笔记,Black-box Detection of Backdoor Attacks with Limited Information and Data
  20. 我这些年对游戏外挂辅助开发的一些心得和体会

热门文章

  1. PHPExcel导出
  2. 使用qrcode.vue生成二维码
  3. 电脑版永恒纪元服务器正在维护,永恒纪元————【维护】12月7日更新维护公告...
  4. 用matplotlib进行数据可视化并储存图片,附提高图片分辨率方法
  5. springboot+vue美食网站idea maven
  6. 高通WLAN框架学习(18)-- QPower 3.0
  7. Vue--实现前后端完全分离
  8. linux下禁用或者启用独显(Nvidia)-使用BBSwitch
  9. 北境之地服务器没有响应,《北境之地》常见问题解决方法
  10. HTML5期末大作业:美食主题网站设计——美食主题(6页) HTML+CSS+JavaScript 学生dreamweaver网页设计作业成品