一、引入:
Android提供了View來進行繪圖處理,在大部分情況下,View都能滿足繪圖需求。大家都知道View是通過刷新來重繪視圖,Android系統(tǒng)通過發(fā)出VSYNC信號來進行屏幕的重繪,刷新的間隔時間為16ms。如果在16ms內(nèi)View完成了你所需要執(zhí)行的所有操作,那么用戶在視覺上,就不會產(chǎn)生卡頓的感覺;反之,如果操作的邏輯過多時,就會掉幀從而使得用戶感覺到卡頓。特別的需要頻繁刷新的界面上,如游戲(60FPS以上),就會不斷阻塞主線程,從而導(dǎo)致界面卡頓。而Android提供了SurfaceView來解決這種情況。
二、SurfaceView和View的不同之處
SurfaceView和View的不同之處:
View | SurfaceView |
適用于主動更新 | 適用于被動刷新 |
在主線程中進行畫面更新 | 通常通過一個子線程來進行畫面更新 |
延伸閱讀
我想了解如何學(xué)習(xí) |