当前位置: 首页 > wzjs >正文

免费做qq互赞网站重庆森林壁纸

免费做qq互赞网站,重庆森林壁纸,企业微网站开发,页面设计说明万能模板目录 一、什么是WMS?‌ ‌二、WMS 的架构层次‌ 1. 主要分层与工作流程 1‌.1 客户端层 1‌.2 服务层‌ 1‌.3 底层驱动‌ 2. 跨层协作流程 2.1 跨层协作示意图 2.2 底层与上层交互机制 2.2.1 图形缓冲区交互通道 2.2.2 输入事件传递链路 2.3 服务层响应客户端请…

目录

一、什么是WMS?‌

‌二、WMS 的架构层次‌

1. 主要分层与工作流程

1‌.1 客户端层

1‌.2 服务层‌

1‌.3 底层驱动‌

2. 跨层协作流程

2.1 跨层协作示意图

2.2 底层与上层交互机制

2.2.1 图形缓冲区交互通道

2.2.2  输入事件传递链路

2.3 服务层响应客户端请求流程

2.3.1 客户端请求处理链

2.3.2. 核心响应逻辑示例

2.3.3 异步回调机制

‌三、核心模块与工作流程‌

1. ‌核心模块‌

2. ‌窗口添加流程

3. ‌布局与绘制流程

‌四、WMS 的启动流程‌

五、核心代码解析‌


一、什么是WMS?

WindowManagerService(WMS)‌ 是 Android 系统中负责管理窗口的核心服务,其职责包括窗口的创建、层级排序、布局、动画、输入事件分发以及与 SurfaceFlinger 协同完成图形合成。WMS 是 Android GUI 系统的中枢,直接影响应用的显示、交互和多任务处理。主要功能包括:

  • 窗口生命周期管理‌:处理窗口的添加、删除、层级调整(Z-Order)。

  • 布局与绘制‌:通过 performLayoutAndPlaceSurfacesLocked 计算窗口位置,触发 Surface 更新。

  • 输入事件分发‌:与 InputManagerService 协同,将触摸事件路由到焦点窗口。

  • 动画处理‌:窗口切换、过渡动画的管理(如 WindowAnimator)。

  • 多窗口模式‌:支持分屏、画中画、自由窗口等模式。

  • 显示管理‌:与 DisplayManagerService 协作处理多屏显示。

二、WMS 的架构层次

1. 主要分层与工作流程

1‌.1 客户端层

‌通过Binder IPC机制向WMS服务发起窗口操作请求,处理用户交互事件的分发。包括 WindowViewRootImpl 和应用进程,负责发起窗口操作请求(如添加/删除窗口)。其工作流程如下

  • 窗口创建‌:应用通过WindowManager.addView()创建新窗口,ViewRootImpl建立与WMS的通信链路。

  • 布局测量‌:完成Measure/Layout阶段后,通过relayoutWindow()向WMS提交窗口属性变更。

  • 输入事件路由‌:ViewRootImpl通过InputChannel接收WMS派发的触摸事件。

    // Android窗口创建示例代码
    WindowManager wm = getSystemService(WindowManager.class);
    View decorView = new MyDecorView(context);
    WindowManager.LayoutParams params = new WindowManager.LayoutParams(WindowManager.LayoutParams.MATCH_PARENT,WindowManager.LayoutParams.MATCH_PARENT,TYPE_APPLICATION,FLAG_NOT_FOCUSABLE,PixelFormat.TRANSLUCENT);
    wm.addView(decorView, params);  // 触发WMS窗口添加流程:ml-citation{ref="5,6" data="citationList"}
    

1‌.2 服务层

WMS 服务运行在 system_server 进程,管理所有窗口状态和策略。维护窗口堆栈状态,执行窗口策略决策,协调Surface分配。主要工作流程如下:

  • 窗口策略验证‌:检查窗口类型、权限、Z-order等合规性。

  • 布局计算‌:根据窗口属性计算最终显示区域。

  • Surface分配‌:通过SurfaceControl创建图形缓冲区。

    // WMS窗口添加伪代码(简化版)
    class WindowManagerService {void addWindow(Session session, IWindow client, WindowManager.LayoutParams attrs) {// 1. 权限校验checkCallingPermission(attrs.type);  // 2. 创建窗口状态对象WindowState win = new WindowState(session, client, attrs);// 3. 更新窗口层级mWindowMap.put(client.asBinder(), win);mRoot.computeWindowLayers(true);  // 计算Z-order:ml-citation{ref="3,8" data="citationList"}// 4. 分配Surfacewin.createSurfaceControl();}
    }
    

1‌.3 

http://www.dtcms.com/wzjs/394342.html

相关文章:

  • 网站优化师招聘搜索引擎排名优化建议
  • 找素材的网站中小企业管理培训班
  • 网站建设时时彩沈阳专业关键词推广
  • 网站建设电话销售广州白云区疫情实时动态
  • 龙口网站制作多少钱seo公司重庆
  • 阜宁网站制作公司报价尚硅谷培训机构官网
  • 沈阳公司网站建设直通车关键词优化口诀
  • 2019网站怎么做软文写作服务
  • 常州市建设局网站电话深圳营销型网站建设
  • wordpress 客服插件上海seo服务
  • 广州手机网站制作广告优化
  • 网站设计 模板网站优化推广方法
  • 网站专题设计欣赏seo报价单
  • 沧州网站排名优化最火的网络推广平台
  • 做电商网站多少钱公司运营策划方案
  • css教程上海seo推广方法
  • 壹伴公众号编辑器名风seo软件
  • 网站建立有哪些功能石家庄新闻头条新闻最新今天
  • 昆山市建设局网站6网页制作软件推荐
  • 蓝海基业做的网站好吗写软文
  • 别人帮我做的网站没用要交费用吗搜索百度下载安装
  • 做网站聚合做权重难吗冯站长之家官网
  • 网站框架是什么网站搭建公司
  • 大气网络公司网站源码杭州网站推广优化
  • 网站群建设管理规定网站开发的基本流程
  • 请别人做网站的缺点sem竞价推广是什么
  • 大丰企业做网站多少钱新app推广方案
  • 网站建设人员架构站长工具是干嘛的
  • 做淘客推广用什么网站好电商运营自学网站
  • 建站工具cms个人如何建立免费网站