安卓中自定义控件心得(1)—选用SurfaceView还是View问题

问题:在自定义控件中,我们可以集成view或者SurfaceView,我们什么时候使用View,什么时候使用SurfaceView呢?

View:
    使用情景:如果没有动态效果,或者动画效果比较简单,使用View最合适不过了
       线程:在主线程中绘制,所以在不影响UI线程的情况下比较适用。

假如我们的自定义控件有连续不断的动画,这样就会比较频繁的占用主线程,当我们再做其在主线中的UI操作时势必会影响,轻则出现卡顿,重则出现ANR,那么我们就要用SurfaceView了。

   SurfaceView:
      使用场景:有时间连续的动画效果
         线程:SurfaceView的绘制,我们可以在非UI线程中进行,我们可以控制绘制的帧率,最重要的是不影响主线程的UI操作等。

总结:

被动操作多的情况,或许有少许动画,但是不会长时间的动画,我们用View就行了,但是有长时间持续动画的场景,我们需要使用SurfaceView来进行绘制。

猜你喜欢

转载自blog.csdn.net/liujian8654562/article/details/80496250
今日推荐