android surface
来源:互联网 发布:数据etl工具 编辑:程序博客网 时间:2024/05/22 08:17
android的图形系统可以简单的理解成如下的模型,一个surface 对应一个layer。
1、怎么理解surface(ANativeWindow)呢?
其实surface(ANativeWindow)就是对BufferQueueProducer操作的一层封装。
上面说的一个surface对应一个layer的说法是不太准确的。
2、surface(ANativeWindow)对buffer的操作一般分为两步,一个步是的queueBuffer 拿到一张buffer,然后就可以在这张buffer做绘制,第二步是将这张修改后的buffer 通过queueBuffer 送到surfaceflinger去显示,当然中间还有Fence 同步机制。
简单的画出surface 将buffer送到surfaceflinger显示的流程。
上述的流程可以简化为
1、应用修改了buffer,通过queueBuffer 送出去,到bufferQueue中间经过了binder通信
2、BufferQueue这边通过Listener调用到Layer的onFrameAvailable ,Layer通过Message 的机制通知surfaceflinger 更新视图
3、surfaceflinger 的线程收到更新消息后,调用acquireBuffer拿到要显示的buffer 送到HWComposer,再由HWComposer送去显示
阅读全文
0 0
- android surface
- Android上的Surface
- Android Surface 介绍
- Android Surface 介绍
- Android深入浅出之Surface
- android的Surface详解
- Android深入浅出之Surface
- [转载] android中的surface
- Android深入浅出之Surface
- 详解Android Surface系统
- android surface flinger
- Android Surface Canvas
- Android深入浅出之Surface
- android中的surface原理
- Android Surface Canvas
- 详解Android Surface系统
- Android深入浅出之Surface
- Android 深入了解Surface
- 项目实训第二周2
- C语言宏定义小结
- PHPExcel自动导入数据到数据库
- 欢迎使用CSDN-markdown编辑器
- Android Binder Analysis(3)
- android surface
- 1.遇到的问题
- HDU3427-Clickomania
- swing 之FlowLayout 实现自动换行和滚动条添加
- AI和机器学习发展历程
- 第3章 编程问题 3.2节 4
- POJ 1285 Combinations, Once Again 笔记
- Hibernate setParameter绑定参数报错
- 多线程(下)