キャンバス描画で、パスによって作成されたShapeDrawbleオブジェクトをどのように移動すると効率的ですか?
以下のコードは、移動するための新しいパスを通過しているように見えるため、毎回ShapeDrawableオブジェクトを再作成する必要があります。これは非常に無駄なリソースですが、解決する方法はありますか?
private void drawBitmapShape(Canvas canvas, Paint paint)
{
/*Draw a hollow triangle*/
Path path=new Path();
path.moveTo(10, 330);
path.lineTo(70,330);
path.lineTo(40,270);
path.close();
//canvas.drawPath(path, paint);
/* create ShapeDrawable object and define the shape is elliptic */
mShape = new ShapeDrawable(new PathShape(path, BitQQheight, BitQQheight));
/* set up the ellipse things to draw for ShapeDrawable pictures */
mShape.getPaint().setShader(mBitmapShader);
/*set display area*/
//BitQQheight=BitQQheight*2;
mShape.setBounds(0,0, BitQQwidth, BitQQheight);
/* draw ShapeDrawableQQ */
mShape.draw(canvas);
}