Android - TextureView, SurfaceView和GLSurfaceView 以及 SurfaceTexture
这几个概念比较绕, 又比较相近。 初看比较糊涂, 把握关键点就好。
关键字 View
SurfaceView
GLSurfaceView
TextureView
这三个后缀都是View, 所以这三个东西都是用来显示的, 和普通的View差不多, 类似TextView等.
通过历史来说明:
SurfaceView
出现最早, 解决类似视频播放的问题(可以用单独一个线程来渲染UI)。
后来发现用起来不方便, 渲染线程需要单独编写, 一大堆都可以独立成模板。
所以后来就出现了 GLSurfaceView
, 概括一句话就是 使用了模板的 SurfaceView
。
再后来发现GLSurfaceView
不能根据屏幕的变化而变化, 这是由于GLSurfaceView
同应用的Surface
不是在同一层导致的问题。
人们就想到把这个GLSurfaceView
弄到应用的Surface
中, 所以就产生了TextureView
.
关键字 Texture
SurfaceTexture
这个东西不是用来显示给用户看的, 它是一个Texture
, 意识是纹理, 可以想象成一个View
的中间件。
举个例子:
1 : Camera
把视频采集的内容交给 SurfaceView
, 就变成了照相机。
2:Camera
把视频采集的内容交给 SurfaceTexture
, SurfaceTexture
在对内容做个美颜, 然后SurfaceTexture
再把内容交给 SurfaceView
, 就变成了美图秀秀。
这些都是比较通俗的东西, 先有个理论再去深入了解就事半功倍。
推荐一篇:
http://blog.csdn.net/jinzhuojun/article/details/44062175
Android - TextureView, SurfaceView和GLSurfaceView 以及 SurfaceTexture相关推荐
- Android 视频展示控件之 SurfaceView、GLSurfaceView、SurfaceTexture、TextureView 对比总结...
一.SurfaceView SurfaceView继承自View,并提供了一个独立的绘图层,你可以完全控制这个绘图层,比如说设定它的大小,所以SurfaceView可以嵌入到View结构树中,需要注意 ...
- SurfaceView、GLSurfaceView、SurfaceTexture、TextureView、SurfaceHolder、Surface
SurfaceView.GLSurfaceViewe\SurfaceTexture.TextureView.SurfaceHolder.Surface 一.简介 SurfaceTexture: Sur ...
- SurfaceView、GLSurfaceView、SurfaceTexture、TextureView简单对比
关键字 View SurfaceView GLSurfaceView TextureView 这三个后缀都是View, 所以这三个东西都是用来显示的, 和普通的View差不多, 类似TextView等 ...
- 浅谈 SurfaceView、TextureView、GLSurfaceView、SurfaceTexture
一.SurfaceView SurfaceView 是一个可以在子线程中更新 UI 的 View,且不会影响到主线程.它为自己创建了一个窗口(window),就好像在视图层次(View Hierarc ...
- TextureView/SurfaceView/GLSurfaceView/VideoView渲染视频(点播播放器)
OpenGL实现视频的剪裁.旋转.水印.滤镜?? 将 ffmpeg 库移植到 Android 平台? 在播放网络上的视频流时,Android原生的MediaPlayer支持两种协议,HTTP和RT ...
- Android 笔记 surfaceView textureView
SurfaceView Android有一个组件叫SurfaceView,是一个单独的组件,但是并不是和其他常见组件一样提供特别的功能(比如图片浏览,输入字符等等),就是一个空组件.那么这个有什么用呢 ...
- Android播放器之SurfaceView与GLSurfaceView
先看Surface Surface的官方介绍:Handle onto a raw buffer that is being managed by the screen compositor,Surfa ...
- android glsurface 闪屏,浅谈SurfaceView与GLSurfaceView
什么是Surface 让我们看看Surface的官方介绍: Handle onto a raw buffer that is being managed by the screen composito ...
- 安卓中的View、SurfaceView和GLSurfaceView区别
Android游戏当中主要的除了控制类外就是显示类View:SurfaceView是从View基类中派生出来的显示类.android游戏开发中常用的三种视图是:view.SurfaceView和GLS ...
最新文章
- java static 可见性_Java多线程 synchronized与可见性的关系以及可见性问题总结
- 理解MapReduce哲学
- LNMP环境搭建——PHP篇
- Weblogic java.lang.OutOfMemoryError: PermGen space
- Dubbo源码学习总结系列三 dubbo-cluster集群模块
- imdb导mysql_keras如何导入本地下载的imdb数据集?
- Python中的魔法属性
- C# 正则表达式编写及验证方法
- php反序列化漏洞 freebuf,最全的PHP反序列化漏洞的理解和应用
- Git flow常用命令
- MPEG-2 TS流结构浅析
- VS2005与紫光拼音输入法全角问题的解决办法
- 在VMware16中安装 Win10操作系统
- PageHelper:在系统中发现了多个分页插件,请检查系统配置
- 第一章 时空、运动
- linux终端关闭xmanager,xmanager之linux 解决方法
- 折叠面板的改进【Amaze UI】
- 数据结构与算法的学习——思维的学习与高屋建瓴
- 【LOJ】#2289. 「THUWC 2017」在美妙的数学王国中畅游
- 如何提高Wi-Fi速度:14种方法让网速提10倍!
热门文章
- RocketMQ NameServer网络通信架构(基于Netty)
- (0016)iOS 开发之Mac上Navicat Premium 创建远程连接和本地连接
- mysql分组后组内排序_数据小白的转行之路-MYSQL(七)
- MQTT——控制报文格式
- 使用FileZilla Server轻松搭建个人FTP服务器
- 【OpenStack】OpenStack系列1之Python虚拟环境搭建
- hive 学习之异常篇
- android用于打开各种文件的intent
- [原创]关于javax.servlet.ServletException: File [/loginController/getVerifCode.jsp] not found异常 解决方案
- Vmware 安装CentOS7时连不上网问题的解决