一、引入:

Android提供了View來(lái)進(jìn)行繪圖處理,在大部分情況下,View都能滿足繪圖需求。大家都知道View是通過(guò)刷新來(lái)重繪視圖,Android系統(tǒng)通過(guò)發(fā)出VSYNC信號(hào)來(lái)進(jìn)行屏幕的重繪,刷新的間隔時(shí)間為16ms。如果在16ms內(nèi)View完成了你所需要執(zhí)行的所有操作,那么用戶在視覺(jué)上,就不會(huì)產(chǎn)生卡頓的感覺(jué);反之,如果操作的邏輯過(guò)多時(shí),就會(huì)掉幀從而使得用戶感覺(jué)到卡頓。特別的需要頻繁刷新的界面上,如游戲(60FPS以上),就會(huì)不斷阻塞主線程,從而導(dǎo)致界面卡頓。而Android提供了SurfaceView來(lái)解決這種情況。

二、SurfaceView和View的不同之處

SurfaceView和View的不同之處:

<label id="8txje"><xmp id="8txje">

View

SurfaceView

適用于主動(dòng)更新

適用于被動(dòng)刷新

在主線程中進(jìn)行畫面更新

通常通過(guò)一個(gè)子線程來(lái)進(jìn)行畫面更新

網(wǎng)友評(píng)論

<menu id="8txje"></menu>