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

Android SurfaceFlinger——GraphicBuffer内存申请(三十)

        在上一篇文章中介绍 GraphicBuffer 初始化的 initWithSize() 函数中,有两个核心方法,GraphicBufferAllocator.allocate 和 GraphicBufferMapper. getTransportSize,这里我们就来看一下 allocate() 函数是如何实现内存申请的。

一、函数介绍

        在Android的图形子系统中,GraphicBufferAllocator 和 GraphicBufferMapper 是处理图形缓冲区的核心组件。这两个类分别负责缓冲区的分配和映射,是 GraphicBuffer 类的基础,GraphicBuffer 用于封装和管理图形数据。

GraphicBufferAllocator.allocate

        GraphicBufferAllocator 的 allocate 方法用于从系统中申请一块内存,这块内存将被用作图形缓冲区。这个方法通常在需要创建一个新的图形缓冲区时调用,例如,当一个应用程序需要显示一帧图像或视频帧时。

        通常,GraphicBufferAllocator.allocate 会在创建新的 GraphicBuffer 时调用。

二、内存申请

1、GraphicBufferAllocator.cpp

源码位置:/frameworks/native/libs/ui/GraphicBufferAllocator.cpp

allocate

status_t GraphicBufferAllocator::allocate(uint32_t width, uint32_t height, PixelFormat format,uint32_t lay

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 基于Pytorch框架的深度学习densenet121神经网络鸟类行为识别分类系统源码
  • 从json到protobuf,接口效率的提升
  • 领略诗词之妙,发觉生活之美。
  • 机器学习课程学习周报五
  • 初学Mybatis之 Lombok 篇
  • 微信小程序安装vant组件库和使用
  • Python3网络爬虫开发实战(6)异步爬虫
  • 速盾:cdn加速能不能防御攻击?
  • 掀桌子了!原来是咱们的大屏设计太酷,吓着前端开发老铁了
  • 02 Redis安装与启动
  • 【c++刷题笔记-图论】day52: 101.孤岛的总面积 、102.沉没孤岛 、103.水流问题 、104.建造最大岛屿
  • C# 多线程Paralle使用
  • LangChain4j-RAG高级-核心概念
  • 区块链——代码格式检查(prettier、solhint)
  • OD C卷 - 密码输入检测
  • 【108天】Java——《Head First Java》笔记(第1-4章)
  • C++类中的特殊成员函数
  • create-react-app做的留言板
  • JavaScript标准库系列——Math对象和Date对象(二)
  • mysql常用命令汇总
  • redis学习笔记(三):列表、集合、有序集合
  • seaborn 安装成功 + ImportError: DLL load failed: 找不到指定的模块 问题解决
  • 动态魔术使用DBMS_SQL
  • 开发了一款写作软件(OSX,Windows),附带Electron开发指南
  • 前嗅ForeSpider中数据浏览界面介绍
  • 使用Maven插件构建SpringBoot项目,生成Docker镜像push到DockerHub上
  • 听说你叫Java(二)–Servlet请求
  • 为视图添加丝滑的水波纹
  • 小试R空间处理新库sf
  • 赢得Docker挑战最佳实践
  • 智能合约Solidity教程-事件和日志(一)
  • 3月27日云栖精选夜读 | 从 “城市大脑”实践,瞭望未来城市源起 ...
  • 7行Python代码的人脸识别
  • FaaS 的简单实践
  • LevelDB 入门 —— 全面了解 LevelDB 的功能特性
  • 数据库巡检项
  • ​LeetCode解法汇总2304. 网格中的最小路径代价
  • ​云纳万物 · 数皆有言|2021 七牛云战略发布会启幕,邀您赴约
  • # 20155222 2016-2017-2 《Java程序设计》第5周学习总结
  • ## 临床数据 两两比较 加显著性boxplot加显著性
  • ###51单片机学习(1)-----单片机烧录软件的使用,以及如何建立一个工程项目
  • (1)(1.13) SiK无线电高级配置(六)
  • (4.10~4.16)
  • (HAL)STM32F103C6T8——软件模拟I2C驱动0.96寸OLED屏幕
  • (Redis使用系列) Springboot 实现Redis 同数据源动态切换db 八
  • (附源码)计算机毕业设计ssm高校《大学语文》课程作业在线管理系统
  • (更新)A股上市公司华证ESG评级得分稳健性校验ESG得分年均值中位数(2009-2023年.12)
  • (论文阅读26/100)Weakly-supervised learning with convolutional neural networks
  • (每日一问)计算机网络:浏览器输入一个地址到跳出网页这个过程中发生了哪些事情?(废话少说版)
  • (十三)Flink SQL
  • (四)stm32之通信协议
  • (五)Python 垃圾回收机制
  • (一)python发送HTTP 请求的两种方式(get和post )
  • (一)基于IDEA的JAVA基础12
  • (转)ObjectiveC 深浅拷贝学习