Android GraphicBuffer
16lz
2021-01-23
1. Android中的应用层每申请一个Surface,最终会通过jni和binder调用到surfaceflinger中,最终会创建一个Layerxxx(Layer,LayerBuffer,LayerBlur,LayerDim)类,最通常的是Layer类,在Layer类中有一个成员变量:
sp<GraphicBuffer> mBuffers[NUM_BUFFERS];
Layer的成员函数SetBuffers()初始化了该数组:
for (size_t i=0 ; i<NUM_BUFFERS ; i++) {
mBuffers[i] = new GraphicBuffer();
}
其中,NUM_BUFFERS的定义是2,也就是说,android为每个Layer分配了两个显示缓冲,以便于做出PageFlip的动作。
2. GraphicBuffer作为显示内存的管理类,负责显示内存的申请和释放。
更多相关文章
- Android性能优化——合理进行内存管理
- (Android Studio 3.0)Android Profiler内存泄漏检查
- android 的内存、内部存储和外部存储的理解/cache/system。
- Android JNI编程内存问题定位方法
- android 进程内存查看
- Android内存泄露检测(LeakCanary)
- Android 内存溢出问题分析
- 转:Android内存管理机制