当前位置:   article > 正文

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

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

  1. status_t GraphicBufferAllocator::allocate(uint32_t width, uint32_t height, PixelFormat format,
  2. uint32_t lay
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/喵喵爱编程/article/detail/899476
推荐阅读
相关标签
  

闽ICP备14008679号