一、區別
SurfaceView和TextureView均繼承於android.view.View,與其它View不同的是,兩者都能在獨立的線程中繪製和渲染,在專用的GPU線程中大大提高渲染的性能。
SurfaceView專門提供了嵌入視圖層級的繪製界面,開發者可以控制該界面像Size等的形式,能保證界面在屏幕上的正確位置。但也有侷限:
由於是獨立的一層View,更像是獨立的一個Window,不能加上動畫、平移、縮放;
兩個SurfaceView不能相互覆蓋。
TextureView更像是一般的View,像TextView那樣能被縮放、平移,也能加上動畫。TextureView只能在開啓了硬件加速的Window中使用,並且消費的內存要比SurfaceView多,並伴隨着1-3幀的延遲。