最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android中TextureView與SurfaceView用法區(qū)別總結(jié)

 更新時(shí)間:2018年04月03日 16:24:56   投稿:wdc  
TextureView和SurfaceView都是繼承自View類的,TextureView在Andriod4.0之后才引入的,SurfaceView不能加上動(dòng)畫、平移、縮放,TextureView可以但有1-3幀的延遲

SurfaceView和TextureView均繼承于android.view.View

與其它View不同的是,兩者都能在獨(dú)立的線程中繪制和渲染,在專用的GPU線程中大大提高渲染的性能。

一、SurfaceView專門提供了嵌入視圖層級(jí)的繪制界面,開(kāi)發(fā)者可以控制該界面像Size等的形式,能保證界面在屏幕上的正確位置。

但也有局限:

由于是獨(dú)立的一層View,更像是獨(dú)立的一個(gè)Window,不能加上動(dòng)畫、平移、縮放;

兩個(gè)SurfaceView不能相互覆蓋。

二、TextureView更像是一般的View,像TextView那樣能被縮放、平移,也能加上動(dòng)畫。

TextureView只能在開(kāi)啟了硬件加速的Window中使用,并且消費(fèi)的內(nèi)存要比SurfaceView多,并伴隨著1-3幀的延遲。

三、TextureView和SurfaceView都是繼承自View類的,但是TextureView在Andriod4.0之后的API中才能使用。

SurfaceView可以通過(guò)SurfaceHolder.addCallback方法在子線程中更新UI,TextureView則可以通過(guò)TextureView.setSurfaceTextureListener在子線程中更新UI,個(gè)人認(rèn)為能夠在子線程中更新UI是上述兩種View相比于View的最大優(yōu)勢(shì)。

 但是,兩者更新畫面的方式也有些不同,由于SurfaceView的雙緩沖功能,可以是畫面更加流暢的運(yùn)行,但是由于其holder的存在導(dǎo)致畫面更新會(huì)存在間隔(不太好表達(dá),直接上圖)。并且,由于holder的存在,SurfaceView也不能進(jìn)行像View一樣的setAlpha和setRotation方法,但是對(duì)于一些類似于坦克大戰(zhàn)等需要不斷告訴更新畫布的游戲來(lái)說(shuō),SurfaceView絕對(duì)是極好的選擇。但是比如視頻播放器或相機(jī)應(yīng)用的開(kāi)發(fā),TextureView則更加適合。

相關(guān)文章

最新評(píng)論

黔西县| 沙河市| 内丘县| 建水县| 揭西县| 清水河县| 平陆县| 广州市| 石楼县| 云龙县| 东乡族自治县| 平南县| 汽车| 肇东市| 城口县| 徐闻县| 贵港市| 肇庆市| 兴仁县| 沭阳县| 梁山县| 兴国县| 冀州市| 宁城县| 志丹县| 改则县| 电白县| 盐山县| 安岳县| 克山县| 冷水江市| 云龙县| 太白县| 根河市| 图木舒克市| 册亨县| 宣威市| 滨州市| 犍为县| 敦化市| 贵定县|