title: Buffering Canvas in onDraw() method
body: <p>How can I buffer a Circle drawn with drawCircle canvas method?</p>
  
  <p>I need to draw two circles, then an arc when the user sweep his finger on the circles.
  So, the two circles will be always the same, but the angle (drawn by the drawArc method) will be always different.
  I want to buffer this circles and not drawing them over and over again...
  I got this code working, but I suppose that it can be better.</p>
  
  <pre><code>@Override
      protected void onDraw(Canvas canvas) {
          super.onDraw(canvas); 
          /*first circle*/
          canvas.drawCircle(getWidth()/2, getHeight()/2, mRadius2, getGradient(OUTER_CIRCLE_COLOR));
          /*second circle*/
          canvas.drawCircle(getWidth()/2, getHeight()/2, mRadius, getGradient(INNER_CIRCLE_COLOR));
          rectF.set(getWidth()/2- mRadius2, getHeight()/2 - mRadius2, getWidth()/2 + mRadius2, getHeight()/2 + mRadius2);
          /*draw the arc*/
          canvas.drawArc(rectF, 180, this.getSweepAngle(), true,p);
          invalidate();
      }
  </code></pre>