Cache Paint objects instead of allocation in draw method

This commit is contained in:
Cameron Gutman 2016-01-07 02:23:34 -06:00
parent 49e2c40ba4
commit 7da5d5322b
4 changed files with 7 additions and 7 deletions

View File

@ -116,7 +116,7 @@ public class AnalogStick extends VirtualControllerElement {
private float position_stick_x = 0;
private float position_stick_y = 0;
private Paint paint = new Paint();
private final Paint paint = new Paint();
private STICK_STATE stick_state = STICK_STATE.NO_MOVEMENT;
private CLICK_STATE click_state = CLICK_STATE.SINGLE;

View File

@ -59,6 +59,8 @@ public class DigitalButton extends VirtualControllerElement {
private Timer timerLongClick = null;
private TimerLongClickTimerTask longClickTimerTask = null;
private final Paint paint = new Paint();
private int layer;
private DigitalButton movingButton = null;
@ -142,8 +144,6 @@ public class DigitalButton extends VirtualControllerElement {
// set transparent background
canvas.drawColor(Color.TRANSPARENT);
Paint paint = new Paint();
paint.setTextSize(getPercent(getCorrectWidth(), 50));
paint.setTextAlign(Paint.Align.CENTER);
paint.setStrokeWidth(3);

View File

@ -22,6 +22,8 @@ public class DigitalPad extends VirtualControllerElement {
public final static int DIGITAL_PAD_DIRECTION_DOWN = 8;
List<DigitalPadListener> listeners = new ArrayList<DigitalPadListener>();
private final Paint paint = new Paint();
public DigitalPad(VirtualController controller, Context context) {
super(controller, context);
}
@ -35,8 +37,6 @@ public class DigitalPad extends VirtualControllerElement {
// set transparent background
canvas.drawColor(Color.TRANSPARENT);
Paint paint = new Paint();
paint.setTextSize(getPercent(getCorrectWidth(), 20));
paint.setTextAlign(Paint.Align.CENTER);
paint.setStrokeWidth(3);

View File

@ -18,6 +18,8 @@ public abstract class VirtualControllerElement extends View {
protected VirtualController virtualController;
private final Paint paint = new Paint();
protected int normalColor = 0xF0888888;
protected int pressedColor = 0xF00000FF;
@ -71,8 +73,6 @@ public abstract class VirtualControllerElement extends View {
protected void onDraw(Canvas canvas) {
if (virtualController.getControllerMode() == VirtualController.ControllerMode.
Configuration) {
Paint paint = new Paint();
paint.setColor(pressedColor);
paint.setStrokeWidth(3);
paint.setStyle(Paint.Style.STROKE);