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

太原网站如何制作请人做网站要注意什么

太原网站如何制作,请人做网站要注意什么,网站底部加备案号,中国那个公司的网站做的最好看概要介绍 SurfaceControlViewHost是一个工具类, 用于帮助在其他进程中显示本进程的view。 SurfaceControlViewHost 为绘制进程持有,其中的SurfacePackage 交给另外的显示进程,在显示进程中的SurfaceView中通过SurfaceView.setChildSurface…

概要介绍

SurfaceControlViewHost是一个工具类, 用于帮助在其他进程中显示本进程的view。 

SurfaceControlViewHost 为绘制进程持有,其中的SurfacePackage 交给另外的显示进程,在显示进程中的SurfaceView中通过SurfaceView.setChildSurfacePackage(SurfacePackage) 将绘制进程中的界面与surfaceview关联并进行显示。绘制进程和显示进程中传递的实际上为surfacecontrol。   

具体实现

参照下面类图:

成员变量 

  •        WindowlessWindowManager mWm, 构造时传入,或者构造时创建。为IWindowSession 子类, 该类并不将一个view加入到wms中作为窗口管理, 而是将该view作为一个子surface加入到另一个父surface中。构造时创建时, 使用本类的mSurfaceControl作为参数, 作为WindowlessWindowManager的mRootSurface。 WindowlessWindowManager类的addToDisplay是按照 WindowManager.LayoutParams 创建一个surfacecontrol, 该surfacecontrol 对应SurfaceFlinger的buffer Layer, 分配具体的绘制buffer, 绘制进程的view 即绘制在该surface上。 该surface 存入WindowlessWindowManager.State.mSurfaceControl, mRootSurface为其parent。 WindowlessWindowManager类的relayout()中按照输入高宽及LayoutParams调整WindowlessWindowManager.State.mSurfaceControl的参数。 
  •        ViewRootImpl mViewRoot;  在SurfaceControlViewHost类构造时创建, 传入的参数为WindowlessWindowManager, 构造时会调用ViewRootImpl.forceDisableBLAST(),即绘制buffer在surfaceFlinger侧分配管理, 而不是在app侧。 
  •        SurfaceControl mSurfaceControl;  //构造时创建, 名字为“SurfaceControlViewHost”, 对应SurfaceFlinger中的ContainerLayer, 作为整个绘制surface的根。 其子layer 为在WindowlessWindowManager.addToDisplay中创建的buffer layer。 mSurfaceControl也作为根layer通过SurfacePackage传递给远端显示进程。 

    成员函数       

  • getSurfacePackage() :创建SurfacePackage:  new SurfacePackage(mSurfaceControl, mAccessibilityEmbeddedConnection); 其中SurfaceControlViewHost.mSurfaceControl 也作为SurfacePackage的mSurfaceControl, 会加入到显示进程中的SurfaceView中。
  • setView(View, ......): 最终调用的是mViewRoot.setView(view, attrs, null),进而调用WindowlessWindowManager.addToDisplay() 和relayout(), 将该view内容与WindowlessWindowManager.State.mSurfaceControl关联。 该mSurfaceControl即为buffer  layer。

示例代码

  • host端即绘制进程

参见: /frameworks/base/core/java/android/service/autofill/InlineSuggestionRenderService.java:170  

    final SurfaceControlViewHost host = new SurfaceControlViewHost(this, getDisplay(),hostInputToken);host.setView(suggestionRoot, lp);aidlClass.aidlFunction(host.getSurfacePackage());  //通过aidl接口将SurfacePackage交给显示进程即client端。 


    

  • client端即显示进程
 SurfaceHolder.Callback.surfaceCreated() {从远程host中获取SurfaceControlViewHost.SurfacePackage。 可以绘制进程调用aidl接口从绘制进程获取,或绘制进程调用aidl传入到显示进程。SurfaceView.setChildSurfacePackage(SurfacePackage);
}

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

相关文章:

  • 公司网站制作费用百度竞价托管公司
  • 网站flsh怎么做商城网站合作协议
  • 浙江省住房建设局网站首页个人养老金制度
  • 泉州网站建设制作怀化 网站建设
  • 做钻石资讯网站网址导航浏览器最新的2021年
  • 北京丰台区网站建设创新的广州做网站
  • 班组建设展板哪个网站有网站公司建设网站价格
  • 网站建设公司哪家好 都来磐石网络淮安市工程造价信息网
  • php网站开发步骤空中花园做网站的公司
  • 如何进行公司网站的建设wordpress 柚子皮
  • 欣赏别人做的网站个人网站设计与制作源代码
  • 邯郸公司做网站免费公众号排版编辑器
  • 怎样做网站的seo温州市微网站制作电话
  • 盘锦做网站公司Linux主机设置网站首页
  • html5手机论坛网站模板wordpress js放到oss
  • 优对 网站开发电商网站模板引擎
  • 美食网站建设的可行性深圳产品设计公司排名前十强
  • 制作单位网站天元建设集团有限公司营业执照
  • 东莞网站建设网站Erphpdown wordpress
  • 做网站申请个体户wordpress网站第一次打开慢
  • 做外贸上阿里巴巴什么网站东莞个人网站制作
  • 新乡网络网站建设wordpress的客户端
  • 网站介绍的ppt怎么做搜索引擎排名2020
  • 免费网站建设教程wordpress发布模块支持5.x
  • 网站开发会什么软件学生个人网页设计作品代码
  • 网站建设修改建议电子贺卡制作
  • 制定网站建设方案人员优化是什么意思
  • 海淘网站竞价防恶意点击
  • 网站流量提供商大型企业网络建设方案
  • 邦拓网站建设做微信网站公司哪家好