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

在原域名给公司建立网站福清seo

在原域名给公司建立网站,福清seo,洪雅网站建设,天津市建设工程造价管理协会网站概要介绍 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/97203/

相关文章:

  • 网站关键字可以做几个整合网络营销推广
  • 做配件出口上什么网站创意网页设计模板
  • 移动端网站开发前端模板品牌建设和品牌打造
  • 扫描网站特征dede网站安全维护怎么做
  • 杭州企业网站设计制作大学生文创产品设计
  • 网站开发基础学习wordpress分享js代码
  • 佛山网站制作在线视频网站建设解决方案
  • 怎么给自己的网站做优化惠州网站建设(推荐乐云践新)
  • 网站加载特效代码wordpress不显示仪表盘
  • 开发国外优惠卷网站如何做网站下载到本地
  • 玉溪建设局门户网站怎样说服公司做网站
  • 乐趣做网站深圳关键词优化平台
  • 专业网站推荐打开网站弹出视频js
  • 三亚网站建设平台网站备案填写要求
  • 中国有哪些网站可以做兼职外贸营销信
  • 建设旅游网站的功能定位程序开发过程有哪四个步骤
  • 做响应式网站的公司wordpress文章内图片幻灯片
  • 企业网站用什么数据库洪梅仿做网站
  • 学做转手绘的网站中国建设银行网站显示未签约
  • 天津网站搜索优化电子商务网站建设完整案例教程s2sh pdf下载
  • 个人做外贸网站设计一套网站费用
  • 做漫画网站 漫画哪找郑州百度推广代运营公司
  • wordpress 插件全部消失已有的网站如何做排名优化
  • 信阳做网站 汉狮网络台州网站建设找哪家好点
  • 惠东县网站建设百度关键词排名手机
  • 温州专业制作网站无锡网站优化推广方案
  • 怎么把网站模板上传到自己的网站网上商城开发价格
  • 如何快速提升网站pr宁波网站建设服务电话
  • 连云港网站seo加强社区网站建设
  • 一个网站拿到手里想做优化第一步怎么做北京营销型网站建站公司