Android - TextureView, SurfaceView和GLSurfaceView 以及 SurfaceTexture

這幾個概念比較繞, 又比較相近。 初看比較糊涂, 把握關(guān)鍵點(diǎn)就好。

關(guān)鍵字 View

SurfaceView
GLSurfaceView
TextureView
這三個后綴都是View, 所以這三個東西都是用來顯示的, 和普通的View差不多, 類似TextView等.

通過歷史來說明:
SurfaceView 出現(xiàn)最早, 解決類似視頻播放的問題(可以用單獨(dú)一個線程來渲染UI)。
后來發(fā)現(xiàn)用起來不方便, 渲染線程需要單獨(dú)編寫, 一大堆都可以獨(dú)立成模板。
所以后來就出現(xiàn)了 GLSurfaceView, 概括一句話就是 使用了模板的 SurfaceView。
再后來發(fā)現(xiàn)GLSurfaceView不能根據(jù)屏幕的變化而變化, 這是由于GLSurfaceView同應(yīng)用的Surface不是在同一層導(dǎo)致的問題。
人們就想到把這個GLSurfaceView弄到應(yīng)用的Surface中, 所以就產(chǎn)生了TextureView.

關(guān)鍵字 Texture

SurfaceTexture
這個東西不是用來顯示給用戶看的, 它是一個Texture, 意識是紋理, 可以想象成一個View的中間件。
舉個例子:
1 : Camera 把視頻采集的內(nèi)容交給 SurfaceView, 就變成了照相機(jī)。
2:Camera 把視頻采集的內(nèi)容交給 SurfaceTexture, SurfaceTexture 在對內(nèi)容做個美顏, 然后SurfaceTexture 再把內(nèi)容交給 SurfaceView, 就變成了美圖秀秀。

這些都是比較通俗的東西, 先有個理論再去深入了解就事半功倍。
推薦一篇:
http://blog.csdn.net/jinzhuojun/article/details/44062175

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容