美文网首页
Android WMS(窗口管理员)

Android WMS(窗口管理员)

作者: kinglong1984 | 来源:发表于2018-10-21 12:24 被阅读21次

WMS

Windows Manager Service (WMS),承载着和“界面”有关的数据和属性,管理和“界面”有关的状态。

就像N个演员参演的话剧:WMS是导演、SurfaceFlinger是摄像机、ViewRoot是演员个体。

WMS至少要完成以下两方面的功能:

全局的窗口管理(Output):应用程序的显示请求在SurfaceFlinger和WMS的协助下有序地输出给物理屏幕或其他显示设备。

全局的事件管理派发(Input):事件源包括键盘、触摸屏、鼠标、轨迹球(TraceBoll)等。

WMS相关角色的简介

WMS的关系图

1.WindowManagerService(WMS)

WMS是系统服务的一部分,由SystemService启动,发生异常时自动重启,直到系统关机时才能退出

在WMS没有运行之前,开机动画由BootAnimation直接通过OpenGL ES与SurfaceFlinger的配合来完成。

2.SurfaceFlinger

与WMS配合处理显示请求,输出到物理屏幕。

3.由图形显示需求的程序

System Window:如顶部的系统状态栏、壁纸等。

Application Window:“层级值”比系统窗口低,针对普通应用程序的显示申请产生的窗口。

SubWindow:子窗口,受限于其父窗口。如点击Menu时出现的菜单。

4.InputMangerService(IMS)

派发系统按键和触摸消息的角色。IMS收到按键或触摸事件时,它需要寻找一个最合适的“窗口”来处理消息,而WMS则掌控系统中所有窗口的状态和信息。

5.ActivityManagerService(AMS)

AMS与WMS由交互。Activity 状态的变化通常带来“界面”的改变,如Activity1启动Activity2,那么Activity1逐渐淡出显示,而后Activity2的UI界面占据屏幕。

6.Binder通信

SurfaceFlinger、AMS或应用程序与WMS间都需要进行Binder通讯。

相关文章

  • Android WMS(窗口管理员)

    WMS Windows Manager Service (WMS),承载着和“界面”有关的数据和属性,管理和“界面...

  • Android WMS窗口管理

    WindowManagerService跟ActivityManagerService一样都是系统核心服务,通过S...

  • Android 解析WindowManagerService

    一、WMS的作用 窗口管理 WMS是窗口的管理者,它负责窗口的启动、添加和删除,另外窗口的大小和层级也是由WMS进...

  • Android WMS窗口管理(二)

    接着上篇文章分析,Android WMS窗口管理[https://www.jianshu.com/p/e00898...

  • Android WMS(一)-窗口管理

    WMS(WindowManagerService)是系统核心服务,它主要职责主要包含如下几个部分: 窗口管理和Su...

  • WMS

    WMS 职责/功能 窗口管理WMS 是窗口的管理者,它负责窗口的启动、添加和删除,另外窗口的大小和层级也是由 WM...

  • 关于一些Android WMS的解析

    1 、WMS的职责 1.窗口管理WMS是窗口的管理者,它负责窗口的启动、添加和删除,另外窗口的大小和层级也是由WM...

  • Android WMS窗口管理流程分析

    1.1 Window窗口管理框架图 窗口的添加从Activity::makeVisible开始,由WindowM...

  • Android_WMS_启动窗口_StartingWindow

    1:概述 应用程序在冷启动过程中通常会显示一个预览窗口,接着在显示要启动的activity的窗口,因为activi...

  • WMS:窗口动画

    动画的本质是:通过连续不断的显示若干个图像来产生动起来的效果,如平移动画就是在一定的时间段内,以恰当的速率每隔若干...

网友评论

      本文标题:Android WMS(窗口管理员)

      本文链接:https://www.haomeiwen.com/subject/ohqbzftx.html