一、SurfaceView和View的概念
View在UI線(xiàn)程去更新自己;
SurfaceView則在一個(gè)子線(xiàn)程中去更新自己
SurfaceView是在一個(gè)新起的單獨(dú)線(xiàn)程中可以重新繪制畫(huà)面,而View必須在UI的主線(xiàn)程中更新畫(huà)面在UI的主線(xiàn)程中更新動(dòng)畫(huà),時(shí)間一旦太長(zhǎng)就會(huì)出現(xiàn)問(wèn)題
SurfaceView在新的線(xiàn)程中更新畫(huà)面所以不會(huì)阻塞你的UI主線(xiàn)程,但是涉及到線(xiàn)程同步,需要SurfaceView中 thread處理.
觸摸產(chǎn)生的動(dòng)畫(huà)用view,比如打消消樂(lè)
一直在動(dòng)的動(dòng)畫(huà)用SurfaceView,比如有一款跑步的app里面的效果
二、實(shí)現(xiàn)
需要?jiǎng)?chuàng)建一個(gè)新的擴(kuò)展了SurfaceView的類(lèi),并實(shí)現(xiàn)SurfaceHolder.Callback