public void recycle(boolean initial,int width,int height,int topMargin){
  if (initial) {
    y=randRange(topMargin,height);
  }
 else {
    y=height + (randRange(0,21) - 10);
  }
  x=randRange(0,width);
  radius=1;
  maxRadius=randRange(3,BUBBLE_SIZE);
  paint.setAlpha(randRange(100,250));
  popped=false;
  step=0;
  amp=Math.random() * 3;
  freq=Math.random() * 2;
  skew=Math.random() - 0.5;
}

public void recycle ( boolean initial , int width , int height , int topMargin ) { if ( initial ) { y = randRange ( topMargin , height ) ; } else { y = height + ( randRange ( 0 , 21 ) - 10 ) ; } x = randRange ( 0 , width ) ; radius = 1 ; maxRadius = randRange ( 3 , BUBBLE_SIZE ) ; paint . setAlpha ( randRange ( 100 , 250 ) ) ; popped = false ; step = 0 ; amp = Math . random ( ) * 3 ; freq = Math . random ( ) * 2 ; skew = Math . random ( ) - 0.5 ; }
re - initialises the bubble properties so that it appears to be a new bubble . although a bit of elegance is sacrificed this seemed to result in a performance boost during initial testing .
