大家好,最近我刚开始看Android操作系统比较GUI系统底层一点的实现,有一点不是太明白。
我一直搞不懂Overlay和Surface的关系,Surface是主要负责显示部分,而Overlay负责视频输出部分。
但是又看到说Overlay和Framebuffer是对现实设备的抽象,是更底层的东西。但是Overlay是在SurfaceFlinger中实现的
真的是好乱啊!!!哪位能帮我解释一下它们的关系,或者推荐点资料?万分感谢!!
我一直搞不懂Overlay和Surface的关系,Surface是主要负责显示部分,而Overlay负责视频输出部分。
但是又看到说Overlay和Framebuffer是对现实设备的抽象,是更底层的东西。但是Overlay是在SurfaceFlinger中实现的
真的是好乱啊!!!哪位能帮我解释一下它们的关系,或者推荐点资料?万分感谢!!
解决方案 »
- 美图秀秀和魔图精灵中菜单栏的实现
- 加急。。。。android使用Intent打开联系人的修改页面出错
- android输入法
- 求android3.1 的android键盘apk,麻烦给个网址什么的
- 求助!Bitmap转换为byte[]存入数据库后再读出来不一样了
- 求助:cannot be cast to java.io.Serializable
- android调用wenbservice 取值问题
- android.v7 support
- android service主动通知UI更新
- TabLayout 使用过程中出现的一些问题
- 项目代码和配置信息如何防偷窥
- 为什么Google的位置定位接口现在无法访问??急
对于Camera,video等,这样就太麻烦了,所以有一种layer叫做layerbuffer。注册一个buffer,把它交给别人来填充内容,不用我们自己调用Canvas了,比如CameraService里面,registeBuffer, 一般好像是YUV格式。
对于一些大屏的设备,这样软件pushbuffer还是很慢。所有有了overlay这个东西,直接从硬件修改buffer内存的值,速度相当快。这个需要硬件支持。这里Overlay好像只是注册了一下,绘制的时候并没有被surfaceFlinger统一管理,挺奇怪的,我还没看明白,出了一些BUG,比如浮在它上面的界面都回变得透明,视频跳屏等,很纠结
你可以理解为不需要composeSurfaces的一个特殊surface