Android 相对于形状在背景中绘制路径

Android 相对于形状在背景中绘制路径,android,drawing,android-canvas,surfaceview,Android,Drawing,Android Canvas,Surfaceview,在SurfaceView的draw方法中,我将对同步ArrayList的元素进行for循环,如下所示: public void draw(Canvas canvas) { for(MyObject o : system) { canvas.drawPath(o.getPath(), mPaint); canvas.drawCircle(o.getX(), o.getY(), radius, mPaint); } } 问题是,这将在列表中的前一个元素之上绘制下一个

在SurfaceView的draw方法中,我将对同步ArrayList的元素进行for循环,如下所示:

public void draw(Canvas canvas) {
   for(MyObject o : system) {
     canvas.drawPath(o.getPath(), mPaint);
     canvas.drawCircle(o.getX(), o.getY(), radius, mPaint);
   }
}

问题是,这将在列表中的前一个元素之上绘制下一个元素。有一种方法可以使在所有圆圈后面绘制的路径不扩散for循环?

您是先清除画布吗?SurfaceView是双缓冲的。@fadden是的,我在循环之前调用canvas.drawColor(color),对不起。。。