Android R WindowManagerService模块(1) WMS整体架构及启动过程
上图中包含了WMS中的所有容器,各个子容器含义如下:
- ConfigurationContainer:最顶层容器,定义了多个Configuration对象,以及提供了用来组织各容器层级的公共逻辑;
- WindowProcessController:用于和AMS中的ProcessRecord进行通讯,当ProcessRecord中对应用进程作出调整后,通过WindowProcessController和WM进行通信;
- WindowContainer:作为可以保存窗口类父类,定义了用于操作窗口的所有公共方法;
- RootWindowContainer:窗口容器在树结构中的根节点;
- DisplayContent:作为RootWindowContainer的子节点,用于管理同一个逻辑屏的窗口;
- DisplayChildWindowContainer:DisplayContent中的所有子节点的父类;
- NonAppWindowContainers:继承于DisplayChildWindowContainer,主要保存非来自应用的WindowToken;
- WindowContainers:只包含一个子节点——DisplayArea.Root,大部门窗口都会保存在这个容器中;
- DisplayArea:用于对DisplayContent中的节点进行分组管理,主要分为了三类;
- Root:DisplayArea的子类,该容器作为DisplayContent中最顶层的显示区域,用来保存Tokens、TaskDisplayArea、ImeContainer容器;
Android R WindowManagerService模块(1) WMS整体架构及启动过程相关推荐
- Android R WindowManagerService模块(3) Window的relayout过程
// 根据flag是否发生变化做出对应响应,略- - } // 根据应用请求设置宽高,获取窗口缩放比例 win.setWindowScale(win.mRequestedWidth, win.mReq ...
- etcd 笔记(05)— etcd 代码结构、各模块功能、整体架构、各模块之间的交互、请求和应答流程
1. etcd 项目结构和功能 etcd 项目代码的目录结构如下: $ tree ├── auth ├── build ├── client ├── clientv3 ├── contrib ├── ...
- cm-14.1 Android系统启动过程分析(8)-应用程序进程启动过程
文章目录 声明 0 写在前面 1 什么应用程序进程? 2 应用程序进程的启动过程 2.1 AMS发送启动应用程序进程请求 2.2 Zygote接收AMS的请求并创建应用程序进程 3 启动线程池 4 创 ...
- [日更-2019.4.26、27、28] cm-14.1 Android系统启动过程分析(四)-应用程序进程启动过程...
2019独角兽企业重金招聘Python工程师标准>>> 声明 前阶段在项目中涉及到了Android系统定制任务,Android系统定制前提要知道Android系统是如何启动的: 本文 ...
- Android系统进程间通信(IPC)机制Binder中的Server启动过程源代码分析
原文地址: http://blog.csdn.net/luoshengyang/article/details/6629298 在前面一篇文章浅谈Android系统进程间通信(IPC)机制Binder ...
- Android KK(4.4) 以太网和DHCP启动过程介绍
Android KK(4.4) 以太网和DHCP启动过程介绍 1. ethernet启动流程 2. DHCP启动过程 2.1 JNI层接口 2.2 DHCP客户端(libnetutils) 2.3 D ...
- Android系统启动流程(四)Launcher启动过程与系统启动流程
相关文章 Android系统架构与系统源码目录 Android系统启动流程(一)解析init进程启动过程 Android系统启动流程(二)解析Zygote进程启动过程 Android系统启动流程(三) ...
- Android应用程序进程启动过程
相关文章 Android系统架构与系统源码目录 Android系统启动流程(一)解析init进程启动过程 Android系统启动流程(二)解析Zygote进程启动过程 Android系统启动流程(三) ...
- Android 启动过程简析(一)之 init 进程
问题 在进入到 Android 启动过程之前先让我们思考以下几个问题 Android 系统的启动过程是怎样的? init .zygote 进程是什么?在系统启动的过程中各自发挥了什么作用? AMS.P ...
最新文章
- 中原大学 php,台湾中原大学php教程孙仲岳主讲
- 剑指offer:把数组排成最小的数
- CVE-2018-20169漏洞学习
- 异常处理第三讲,SEH(结构化异常处理),异常展开问题
- Response_案例3_输出字节数据
- js优化阿里云图片加载(二)
- XFire下根据WSDL生成Client Stub,并测试Client
- 【Linux系统编程学习】 GDB调试器的简单使用
- idea怎么把代码放到git_在IntelliJ IDEA中同步代码到华为云git仓库 (on windows)
- Ubuntu,QT5连接MySQL
- 计网实验1--配置路由
- 《libGDX移动游戏开发从入门到精通》一1.5 其他的一些准备工作
- linux 生成bmp,linux下生成bmp图片的测试程序
- ubuntu 外置硬盘安装
- Ubuntu:Terminal终端命令
- 服务器装系统鼠标键盘不能动,装系统鼠标键盘不能动
- 男cd是啥意思_伪娘cd是什么意思
- html src认证,html – SRCSET的W3C验证
- 后门防御阅读笔记,Black-box Detection of Backdoor Attacks with Limited Information and Data
- 我这些年对游戏外挂辅助开发的一些心得和体会
热门文章
- PHPExcel导出
- 使用qrcode.vue生成二维码
- 电脑版永恒纪元服务器正在维护,永恒纪元————【维护】12月7日更新维护公告...
- 用matplotlib进行数据可视化并储存图片,附提高图片分辨率方法
- springboot+vue美食网站idea maven
- 高通WLAN框架学习(18)-- QPower 3.0
- Vue--实现前后端完全分离
- linux下禁用或者启用独显(Nvidia)-使用BBSwitch
- 北境之地服务器没有响应,《北境之地》常见问题解决方法
- HTML5期末大作业:美食主题网站设计——美食主题(6页) HTML+CSS+JavaScript 学生dreamweaver网页设计作业成品