什么是overlay: 注意这里说的不是安卓资源替换的那个overlay方案. 这里指的是gui渲染中的overlay层. 搜了几个帖子, 感觉是说一种需要硬件支持的数据显示方案, 比如摄像头里的数据直接显示到屏幕上, 有了这个overlay方案, 就不需要把数据给surface之类的了, 不需要转手了, 直接显示即可, 至于具体是怎么显示的, 逻辑没搞清楚.
http://bbs.csdn.net/topics/370049632
我们平时用的view,大部分最后都是调用canvas来绘制东西的,这个用的是skia,谷歌自己的2D图形库,由我们来主动控制。 对于Camera,video等,这样就太麻烦了,所以有一种layer叫做layerbuffer。注册一个buffer,把它交给别人来填充内容,不用我们自己调用Canvas了,比如CameraService里面,registeBuffer, 一般好像是YUV格式。 对于一些大屏的设备,这样软件pushbuffer还是很慢。所有有了overlay这个东西,直接从硬件修改buffer内存的值,速度相当快。这个需要硬件支持。这里Overlay好像只是注册了一下,绘制的时候并没有被surfaceFlinger统一管理
"overly是可以直接通过硬件,把图像显示在屏幕上的, 你可以理解为不需要composeSurfaces的一个特殊surface"
网友评论