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

永康网站设计沈阳市城市建设局网站

永康网站设计,沈阳市城市建设局网站,seo视频教程我要自学网,网站如何做推广背景: 近期学员们学习了马哥wms课程后,去参加相关的大厂的framework面试,有一个学员朋友带回来了一个wms相关的面试题,具体面试题描述如下: 问题1 请问wms的window和SurfaceFlinger的Layer有什么关系? 回…

背景:

近期学员们学习了马哥wms课程后,去参加相关的大厂的framework面试,有一个学员朋友带回来了一个wms相关的面试题,具体面试题描述如下:
问题1

请问wms的window和SurfaceFlinger的Layer有什么关系?

回答了这问题1后,紧接着会继续深入问问题2

问题2
既然二者关系是一一对应的,那么请问wms层面的层级结构树就一定和SurfaceFlinger层面的Layer结构树一定一致么?
如果回答了不一致,会要求列举出几种不一致的情况(这里还会对列出的情况还进行深入挖)。

基于上面这个2个面试题,其实本质上是对wms还有surfaceflinger相关知识的深入考察,而且问题属于难度等级层次分明,慢慢变大的情况,所以要完全可以拿捏对这问题,基本上wms部分的知识考察就可以得到面试官的高度认可打高分。
那么下面来剖析一下如何得上面问题的高。

面试题回答和剖析

问题1

请问wms的window和SurfaceFlinger的Layer有什么关系?

难度评价: 中
考察wms理解,SurfaceFlinger的理解

这个其实课程就已经和大家讲解的很清楚了,高版本android把引入了窗口层级结构树的概念,这个树上的任意节点其实都是继承了WindowContainer类,WindowContainer在创建或者添加时候都会产生一个对应的SurfaceControl,而SurfaceControl又会触发到SurfaceFlinger创建一一对应的Layer,而且WindowContainer的层级结构关系都会一一影响自己SurfaceControl,所以一般在SurfaceFlinger也会有一个和wms一一对应Layer结构树。

问题2

请问wms层面的层级结构树就一定和SurfaceFlinger层面的Layer结构树一定一致么?

难度评价: 较高

问题1属于考查wms理论知识后,开始要加大难度考察wms的深入实战理解知识,即这个问题如果你平时只是学习了wms理论知识,理解了层级结构树,但是没有做过较多wms相关的实战项目及丰富经验。那么这个问题很可能就答不上来,因为在正常情况下,确实wms的层级结构树都是与Sf的Layer结构树完全一致

那么什么时候不一致呢,不一致又有哪些情况呢?
这个面试问题课程可能没有现成的答案,但是课程其实也都有讲解过不一致的情况,具体列出几个经典的案例场景

1、经典的学习车载多屏互动课程时候,是不是有创建单独Mirror图层,一直靠操作这个Mirror图层来进行的操作画面,但是并没有在wms成名创建对应的WindowContainer。

2、学习分屏PIP自由窗口专题时候,有讲解PIP的顶层WindowLess的部分,是不是就是在dumpsys window方式看不到任何的window,但是确实有相关Sf的Layer情况。

3、还有在以前直播时候也讲解过,普通的InputMonitor全局监听事件和monitorGestureInput有啥区别?本质就是GestureInput额外多了图层在sf中。

4、blog有分享过ActivityRecordInputSink相关的剖析,他也是个典型的sf中有图层,但是window中没有。

上面若干案例其实都有一个共同点,都明显表达出一个结论:

sf中的图层不一定window中有,即sf图层可以单独创建挂载不受window的约束和影响,即sf的图层一般比window多的情况。

问题要是可以回答到以上几点其实基本上就算过关了,但是如果还要深挖,那么可能还有有如下的问题:

是否有遇到过sf中的Layer图层和window结构树数目对象都一样,但是顺序不一样,如果有遇到过请举例一下案例。

这种其实就是对一些少见的疑难bug问题的分析经验的考察,看看你是否有遇到过同类型的疑难杂症。
针对这个问题,其实就是说window结构树顺序依赖关系和sf的Layer结构树依赖关系居然不同,大家也知道正常情况下肯定要一模一样,因为Layer虽然可以新加入,但是不能说原来的window对应的Layer结构树顺序都乱了,这样可能会造成显示类的bug。

在这里插入图片描述
正常dumpsys activity containers看到是com.android.messaging/.ui.conversation.ConversationActivity在顶部显示者,但如果dumpsys SurfaceFlinger 发现确实com.android.launcher3/com.android.launcher3.uioverrides.QuickstepLauncher显示,而短信却被显示在桌面下面即被遮盖了,无法显示出来。

如果有遇到过这类的问题再聊一下相关分析和经验那么问题也就完美得分肯定也会额外加分。

更多framework详细代码和资料参考如下链接
投屏专题部分:

https://mp.weixin.qq.com/s/IGm6VHMiAOPejC_H3N_SNg

hal+perfetto+surfaceflinger

https://mp.weixin.qq.com/s/LbVLnu1udqExHVKxd74ILg
其他课程七件套专题:在这里插入图片描述
点击这里
https://mp.weixin.qq.com/s/Qv8zjgQ0CkalKmvi8tMGaw

视频试看:
https://www.bilibili.com/video/BV1wc41117L4/

参考相关链接:
https://blog.csdn.net/zhimokf/article/details/137958615

更多framework假威风耗:androidframework007

http://www.yayakq.cn/news/807772/

相关文章:

  • pc网站开发工具wordpress多用途主题推荐
  • 备案网站服务内容织梦网站优化
  • 网站信息化建设领导小组济南电商网站建设
  • 网站制作论文参考文献凡科平台送审严格吗
  • 网站模板与网站定制版的区别淘宝推广软件
  • 关于建设旅游网站的书籍建站之星凡客
  • 网站网页设计在哪找盐城市建设局网站设计备案资料
  • 官方网站免费制作比稿网站
  • 咸宁网站设计公司网站后台可改资料
  • 洛阳做网站多少钱如何查询企业有没有做网站
  • 公司想建立一个网站吗网站建设vip服务
  • 个人做淘宝客网站好做吗主题网站建设平台
  • 推推蛙网站诊断电子商务是干什么的 女生学难吗
  • 常见的静态网站开发技术庆阳网站优化公司
  • 阿里云怎么放多个网站免费cms内容管理系统
  • 国税政务公开网站建设郑州百度推广公司地址
  • window服务器如何做网站访问湖北洈水水利水电建设公司网站
  • 优门设 网站网站建设包含项目
  • 重庆免费建站深圳公司注册网上流程
  • 电脑做网站服务器视频教程wordpress searchform.php
  • wordpress模板网站模板忻州网站建设
  • WordPress适合建大型网站吗校园网站建设方向
  • 济南代做标书网站标志用微信怎么做商城网站
  • 毕业设计代做网站 知乎国外开源建站系统
  • 网站导航如何用响应式做网络服务图片
  • 网站建站服务公司wordpress在线咨询
  • 绍兴网站建设团队星空无限传媒在线观看电视剧赘婿
  • 快速搭建网站软件网站商城微信支付接口
  • 网站10m数据库网站建设与维护 书
  • 舟山外贸建站公司wordpress搭建官网视频