赞
踩
上一篇文章介绍了 GraphicBuffer 初始化的 initWithSize() 函数中的申请内存流程,这里我们看一下另一个比较重要的函数,GraphicBufferMapper. getTransportSize 获取内存信息。该函数通常在需要了解缓冲区的实际内存占用情况时调用,例如在调试内存使用情况或优化性能时。
GraphicBufferMapper 的 getTransportSize 方法是用于获取一个 GraphicBuffer 实例的实际传输大小。这是因为图形缓冲区的实际大小可能由于对齐、填充等因素而大于其逻辑大小(即 width * height * 像素大小)。getTransportSize 方法返回的是实际用于传输的字节数,这对于理解缓冲区的内存占用以及在进行 DMA(直接内存访问)操作时特别有用。
源码位置:/frameworks/native/libs/ui/GraphicBufferMapper.cpp
- void GraphicBufferMapper::getTransportSize(buffer_handle_t handle, uint32_t* outTransportNumFds, uint32_t* outTransportNumInts)
- {
- mMapper->getTransportSize(handle, outTransportNumFds, outTransportNumInts);
- }
源码位置:/frameworks/native/libs/ui/include/ui/GraphicBufferMapper.h
std::unique_ptr<const GrallocMapper> mMapper
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。