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

Android SurfaceFlinger——创建Layer(二十)

        上一篇文章介绍到,SurfaceComposerClient 中的 createSurface() 方法最终创建的是一个 Layer,这里我们接着看 Layer 的创建。

一、Layer创建

1、SurfaceFlinger.cpp 

源码位置:/frameworks/native/services/surfaceflinger/SurfaceFlinger.cpp

status_t SurfaceFlinger::createLayer(LayerCreationArgs& args, sp<IBinder>* outHandle,const sp<IBinder>& parentHandle, int32_t* outLayerId,const sp<Layer>& parentLayer, uint32_t* outTransformHint) {……status_t result = NO_ERROR;sp<Layer> layer;// 根据图层类型调用不同的创建函数switch (args.flags & ISurfaceComposerClient::eFXSurfaceMask) {case ISurfaceComposerClient::eFXSurfaceBufferQueue:case ISurfaceComposerClient::eFXSurfaceBufferState: {result = createBufferStateLayer(args, outHandle, &layer);// 用于跟踪缓冲区状态std::atomic<int32_t>* pendingBufferCounter = layer->get

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 蓝蜂网关接入雄安新区物联网统一开放平台应用案例
  • 关于RS232、RS485、RS422通信方式的工作原理及使用方法
  • Spring Boot与Apache Kafka Streams的集成
  • 3.js - 裁剪平面(clipIntersection:交集、并集)
  • 异常组成、作用、处理方式(3种)、异常方法、自定义异常
  • 【Redis7】零基础篇
  • 微服务数据流的协同:Eureka与Spring Cloud Data Flow集成指南
  • python小练习04
  • Mac OS系统中Beyond Compare 4破解方式
  • 昇思MindSpore学习总结十——ResNet50迁移学习
  • 【计算机网络】第一章 概要
  • vb.netcad二开自学笔记2:认识vs编辑器
  • 【Qt】QTableWidget设置可以选择多行多列,并能复制选择的内容到剪贴板
  • H5小游戏开发,广告游戏开发制作
  • docker部署onlyoffice,开启JWT权限校验Token
  • 【159天】尚学堂高琪Java300集视频精华笔记(128)
  • C学习-枚举(九)
  • Elasticsearch 参考指南(升级前重新索引)
  • ES10 特性的完整指南
  • Java 多线程编程之:notify 和 wait 用法
  • Javascript编码规范
  • laravel with 查询列表限制条数
  • macOS 中 shell 创建文件夹及文件并 VS Code 打开
  • October CMS - 快速入门 9 Images And Galleries
  • passportjs 源码分析
  • pdf文件如何在线转换为jpg图片
  • SAP云平台运行环境Cloud Foundry和Neo的区别
  • SpringCloud集成分布式事务LCN (一)
  • Travix是如何部署应用程序到Kubernetes上的
  • 百度地图API标注+时间轴组件
  • 给新手的新浪微博 SDK 集成教程【一】
  • 入门到放弃node系列之Hello Word篇
  • 数据科学 第 3 章 11 字符串处理
  • Nginx惊现漏洞 百万网站面临“拖库”风险
  • scrapy中间件源码分析及常用中间件大全
  • ​linux启动进程的方式
  • ​数据结构之初始二叉树(3)
  • ‌分布式计算技术与复杂算法优化:‌现代数据处理的基石
  • ‌内网穿透技术‌总结
  • $.type 怎么精确判断对象类型的 --(源码学习2)
  • $emit传递多个参数_PPC和MIPS指令集下二进制代码中函数参数个数的识别方法
  • (003)SlickEdit Unity的补全
  • (8)STL算法之替换
  • (PyTorch)TCN和RNN/LSTM/GRU结合实现时间序列预测
  • (附源码)spring boot球鞋文化交流论坛 毕业设计 141436
  • (附源码)计算机毕业设计ssm-Java网名推荐系统
  • (官网安装) 基于CentOS 7安装MangoDB和MangoDB Shell
  • (力扣)1314.矩阵区域和
  • (免费领源码)python#django#mysql公交线路查询系统85021- 计算机毕业设计项目选题推荐
  • (四)JPA - JQPL 实现增删改查
  • (算法)区间调度问题
  • (转)c++ std::pair 与 std::make
  • (转)母版页和相对路径
  • (转载)在C#用WM_COPYDATA消息来实现两个进程之间传递数据
  • .cfg\.dat\.mak(持续补充)