![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android之WMS篇
文章平均质量分 81
本专栏主要介绍Android FrameWork WMS相关的知识,揭示Android T上WMS的神秘面纱
Gary1_Liu
Change Your Habits,Change Your Life!
展开
-
Android之WMS篇(五)窗口绘制的过程
WindowSurfaceController才是用来绘制的的SurfaceControl.前边的博客中讲过在addChild的过程中Window会创建对应的SurfaceControll这些SurfaceControl都是CONTAINER类型,只有这里的WindowSurfaceController它是BLAST用于绘制的。在上篇博客中提到WMS的addWindow方法中将Window对应的WindowToken和WindowState挂载到窗口层级树上,它们只是内存中的对象并没有做窗口绘制的动作。原创 2024-07-22 21:50:30 · 1092 阅读 · 0 评论 -
Android之WMS篇(四) App端窗口添加过程
其中App进程中调用WindowManager的addView方法后经过Session跨进程调用后到WMS中将需要添加的Window的WindowToken和WindowState挂载到窗口层级树中对应的层级上.我们添加的是一个系统级别的窗口,Window的token=null,需要new 一个WindowToken,在WindowToken build的过程会根据。到此,Window对应的WindowToken和WindowState已经成功的挂载到窗口层级树对应的层级上。原创 2024-07-17 22:29:18 · 891 阅读 · 0 评论 -
Android之WMS篇(三)窗口层级结构树挂载Child
RootWindowContainer中的setWindowManager方法执行完成整个窗口层级树只是大体结构完成,我们平时看到的Activity,StatusBar,NavigationBar及应用中执行WindoManager.addView方法过程的addWidow都还没有添加到窗口层级树中setWindowManager方法执行完成后App端在运行过程中add的Window具体有以下几个:Task,ActivityRecord,WindowToken,WindowState等等1.RootTa原创 2024-07-16 22:43:14 · 741 阅读 · 0 评论 -
Android之WMS篇(二)窗口层级结构树构建
每个Feature都会有一个nName,mId和mLayer,mLayer是个boolean的数组,在Featuer build之前都会设置通过mLayer设置为true标记出该Feature可以涉及到layer。遍历5个Feature,并通过创建Feature时设置的每个Feature可以管理的层级,最后构成了下图的PendingArea树。使用Feature的原因是每个Feature都是代表一种特定的功能,这样便于对不同功能的窗口进行管理。原创 2024-07-15 22:15:00 · 498 阅读 · 0 评论 -
Android之WMS篇(一)窗口层级结构树
在Android系统中,TopBar,NavigationBar属于SystemUI应用,HomeActivity属于Launcher应用,这些不同应用的Window是怎么样正确的显示和管理的,这里就需要引入窗口层级树这个概念。这里打印了一堆看不懂的东西,其实他就是Android模拟器启动后的窗口层级结构,他显示出来就是下图。2.dumpsys 命令转化成窗口层级树。原创 2024-07-15 22:14:43 · 286 阅读 · 0 评论