關(guān)于為什么使用SurfaceView叉钥,我感覺說的太牽強(qiáng)了,和網(wǎng)上的資料基本都是一個(gè)說法欺劳,個(gè)人認(rèn)為廷粒,關(guān)于為什么使用SurfaceView主要有兩點(diǎn):
一是毯欣,如果屏幕刷新頻繁吃型,onDraw方法會被頻繁的調(diào)用唧瘾,onDraw方法執(zhí)行的時(shí)間過長喇勋,會導(dǎo)致掉幀缨该,出現(xiàn)頁面卡頓。而SurfaceView采用了雙緩沖技術(shù)川背,提高了繪制的速度贰拿,可以緩解這一現(xiàn)象。
二是熄云,view的onDraw方法是運(yùn)行在主線程中的膨更,會輕微阻塞主線程,對于需要頻繁刷新頁面的場景缴允,而且onDraw方法中執(zhí)行的操作比較耗時(shí)荚守,會導(dǎo)致主線程阻塞,用戶事件的響應(yīng)受到影響练般,也就是響應(yīng)速度下降矗漾,影響了用戶的體驗(yàn)。而SurfaceView可以在自線程中更新UI薄料,不會阻塞主線程敞贡,提高了響應(yīng)速度。
我認(rèn)為第二點(diǎn)摄职,才是為什么使用SurfaceView的主要原因誊役,個(gè)人見解,網(wǎng)上的資料谷市,太千篇一律了蛔垢。
