Android画布增强了绘图速度的性能

时间:2018-03-08 07:12:32

标签: android canvas android-custom-view surfaceview graphics2d

我正在创建一个手指画颜料触摸机制,我正在寻找增加和增强绘图性能的方法(使其快速响应)。

在android中使用canvas进行绘制我们基本上创建了一个自定义视图,我们扩展了(View)类,最后我们覆盖了最重要的绘制方法,即(onDraw)方法。我们可以将在画布上绘制的常用代码可视化为:

常用绘图

   public class UsualDraw extends View{

    //constructor (usually 3)

     //........

    //the onDraw function

     @override
     protected void onDraw(Canvas canvas){

       //here we draw what ever we want   

     }



   }

第一次通知

我注意到其他人使用另一种技术在画布上绘制,这涉及多线程,而不是扩展(视图)它们扩展(SurfaceView)。可能是这样的:

       public class AnotherDraw extends SurfaceView implements SurfaceHolder.Callback{

      //constructor (usually 3)

        //........

       //the onDraw function

        @override
        protected void onDraw(Canvas canvas){

       //here we draw what ever we want   

        }

        //in addition to 3 methods
          @override
        protected void surfaceChanged(......){

        //...  

        }
           @override
        protected void surfaceCreated(......){

        //here background thread starts.  

        }

            @override
        protected void surfaceDestroyed(......){

        //here back ground thread should stop.

        }      



        }

基本上是后台线程的图纸。

第二次通知

我注意到在屏幕上触摸和绘图时,缺少点意味着当你画得非常快时,屏幕将无法跟上你的手指速度(因此缺少触摸点或者可能忽略了触摸点)

我的问题

1)为什么有些文档会扩展View而其他文档扩展SurfaceView?在我的情况下,我应该如何使用响应式绘图?这有什么不同吗?

2)我应该怎么做才能使屏幕跟上非常快速的绘图,并确保绘制每条路径?

0 个答案:

没有答案