美文网首页
window层级结果树

window层级结果树

作者: WangRain1 | 来源:发表于2023-07-05 17:49 被阅读0次

系统启动的时候在systemserver中去创建wms,wms中回去创建所有屏幕管理容器RootWindowContainer,在rwc中回去创建对应的DisplayContent,

DisplayContent代表了一个屏幕的虚拟管理类,每个Dc都会创建对应的DisplayPloicy对象,DP首先会去初始化Window的层级结构树,window总共

分为0~36层,每一层都会挂载到对应的层级结构树上,比如0层就是壁纸window,1层是TaskDisplayArea主要挂载activity的窗口,一次往上会有

navigationbar和statusbar的挂载层,一次Window就形成了一个Z-Order顺序;

ViewRootImpl WMS

1.

setView();

Session.addTODisplayAsUser() --> addWindow();

1.校验type类型以及是否具有权限;

2.为窗口创建对应的WindowToken,并把Token根据type类型把token添加到窗口层级树上

activity的窗口被挂到TaskDisplayArea容器中;

3.创建WindowState,并把WindowState添加进Token中去;

4.通过对应的DisplayPloicy.addWindow() 过滤window类型是statusbar/navigationbar 等创建

对应的Insets插图,为后续activty显示区域做计算使用;

5.更新焦点window;

2.

relayout();

Session.relayout(); --> relayoutWindow();

1.WindowSurfacePlacer.performSurfacePlacer();会去RWC中遍历所有dc

2.dc中遍历所有window,以树形结构从上到下遍历;

3.到dp中通过WindowLayout来计算所有的插图insets资源的尺寸确定添加window的显示区域;

相关文章

  • The Window

    window 创建与加载 view 最高层级是window, UIwindow是UIView的子类 app 没有s...

  • WMS

    Window Tree Window Tree WMS责任主要是负责收集各个窗口的数据,比如透明度,层级值,位置参...

  • Android Window Layer层级关系

    在将Android window Layer层级关系之前,我们先来直观的看看是什么样的: 可以看到类似这样的输出:...

  • Flink 源码之 Table early fire 和 lat

    背景 Flink SQL的window计算除了window结束后触发计算之外,还支持中途输出window中间累加结...

  • [JavaScript基础] BOM

    浏览器对象模型 Browser Object Model Window Javascript层级中的顶层对象,表示...

  • 8月31日,调整脊柱

    如果父母喜爱孩子不足,还要求孩子做这做那,这是不给果树足够的营养,还要求果树结又大又红的果子,结不出来就抱怨。...

  • 15.对焦虑和担心的认识

    如果父母喜爱孩子不足,还要求孩子做这做那,这是不给果树足够的营养,还要求果树结又大又红的果子,结不出来就抱怨。这是...

  • 【自动化】Jmeter断言

    一、添加断言步骤: (1)添加“察看结果树”;(监听器 ->察看结果树) (2)添加“断言”; (3)添加“断言结...

  • PopupWindow踩坑

    复用Window,需要注意与dialog的层级 如果是使用dialog的Token,则PopupWindow不会超...

  • myeclipse设置代码自动提示

    1、第一步: 打开myeclipse软件,点击Window,选择Preferences选项 。 2、第二步: 层级...

网友评论

      本文标题:window层级结果树

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