一、引入:

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

二、SurfaceView和View的不同之處

SurfaceView和View的不同之處:

      1. View

        SurfaceView

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

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

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

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

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

        <pre id="50i4i"></pre><p id="50i4i"></p>