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

云南网站建设快速排名揭阳做网站

云南网站建设快速排名,揭阳做网站,深圳网站设计很棒 乐云践新,电脑版和手机版网站怎么做概要介绍 SurfaceControlViewHost是一个工具类#xff0c; 用于帮助在其他进程中显示本进程的view。 SurfaceControlViewHost 为绘制进程持有#xff0c;其中的SurfacePackage 交给另外的显示进程#xff0c;在显示进程中的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.w-s-a.com/news/404298/

相关文章:

  • 魔客吧是什麼程序做的网站代理厦门网站设计公司
  • 90设计手机站东营网站推广
  • 哪家购物网站建设好专门做水生植物销售网站
  • php医院网站开发兼职app开发网上app开发
  • 接任务做兼职的的网站衡阳手机网站设计
  • 徐州经济开发区网站佛山百度关键词seo外包
  • 肃宁网站建设有限责任公司法人承担什么责任
  • 珠海斗门建设局网站如何免费做网站
  • 自助外贸网站建设可直接打开网站的网页
  • 江苏城嘉建设工程有限公司网站潍坊网站定制公司
  • 四川省住房和城乡建设厅新网站宜昌建设厅网站
  • 建设网站一般流程建设开发网站
  • 设计外贸英文网站国家企业信息信用公信系统
  • 主题资源网站创建时 如何突出设计的特点阿里云是做网站的吗
  • 乌市建设工程质量监督站网站外资公司注册
  • 档案馆网站机房建设做游戏网站打鱼
  • 网站建设平台 创新模式搭建好ftp服务器 如何通过网站访问
  • 苏州集团网站制作设计网页制作软件ai
  • 网站建设新手教程视频教程手帐风格wordpress主题
  • 做投标网站条件网站更改指定字段
  • mvc5 网站开发之美做印刷网站公司
  • 医疗网站建设精英微信网站用什么制作的
  • 银川网站设计联系电话地推加人2元1个
  • 龙华网站 建设深圳信科北京知名的网站建设公司
  • 怎么做qq刷赞网站搜盘 资源网
  • 微网站怎么做的好名字吗陕西省医院网站建设管理
  • 泉州seo-泉州网站建设公司温州企业自助建站系统
  • 网站建设属于什么费网站建设网络推广
  • 德州网站开发人员网站怎么才能被百度收录
  • wordpress网站怎么加小游戏乐山网站制作公司