這幾個概念比較繞妒潭, 又比較相近悴能。 初看比較糊涂, 把握關(guān)鍵點就好雳灾。
關(guān)鍵字 View
SurfaceView
GLSurfaceView
TextureView
這三個后綴都是View漠酿, 所以這三個東西都是用來顯示的, 和普通的View差不多谎亩, 類似TextView等.
通過歷史來說明:
SurfaceView
出現(xiàn)最早记靡, 解決類似視頻播放的問題(可以用單獨一個線程來渲染UI)。
后來發(fā)現(xiàn)用起來不方便团驱, 渲染線程需要單獨編寫, 一大堆都可以獨立成模板空凸。
所以后來就出現(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
, 就變成了照相機。
2:Camera
把視頻采集的內(nèi)容交給 SurfaceTexture
滓窍, SurfaceTexture
在對內(nèi)容做個美顏卖词, 然后SurfaceTexture
再把內(nèi)容交給 SurfaceView
, 就變成了美圖秀秀吏夯。
這些都是比較通俗的東西此蜈, 先有個理論再去深入了解就事半功倍。
推薦一篇:
http://blog.csdn.net/jinzhuojun/article/details/44062175