TextureView, SurfaceTexture与Surface的关系

在TextureView中存在一个

private SurfaceTexture mSurface;

成员变量。

可以使用这个SurfaceTexture来构造一个Surface。然后在Surface上可以显示从camera中获取到的流。

android.view.Surface created from a SurfaceTexture can be used as an output destination for the android.hardware.camera2android.media.MediaCodecandroid.media.MediaPlayer, and android.renderscript.Allocation APIs. 

 

TextureView可以用来Captures frames from an image stream as an OpenGL ES texture。The image stream may come from either camera preview or video decode.

 

关于Surface系统,可以参考这篇文章:

https://blog.csdn.net/innost/article/details/47208337

 

这里冒出来一个Surface类。它是什么?在回答此问题之前,先来考虑这样一个问题:

·  前文介绍的View、DecorView等都是UI单元,这些UI单元的绘画工作都在onDraw函数中完成。如果把onDraw想象成画图过程,那么画布是什么?

Android肯定不是“马良”,它也没有那支可以在任何物体上作画的“神笔”,所以我们需要一块实实在在的画布,这块画布就是Surface。SDK文档对Surface类的说明是:Handle on to a raw buffer thatis being managed by the screen compositor。这句话的意思是:

·  有一块Raw buffer,至于是内存还是显存,不必管它。

·  Surface操作这块Raw buffer。

·  Screen compositor(其实就是SurfaceFlinger)管理这块Raw buffer。

Surface和SF、ViewRoot有什么关系呢?相信,聪明的你此时已经明白些了,这里用图8-5描绘一下心中的想法:
--------------------- 
作者:阿拉神农 
来源:CSDN 
原文:https://blog.csdn.net/innost/article/details/47208337 
版权声明:本文为博主原创文章,转载请附上博文链接!

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值