From 7da5d5322bd15cb4f9b5cf644cd28fa79248f84d Mon Sep 17 00:00:00 2001 From: Cameron Gutman Date: Thu, 7 Jan 2016 02:23:34 -0600 Subject: [PATCH] Cache Paint objects instead of allocation in draw method --- .../binding/input/virtual_controller/AnalogStick.java | 2 +- .../binding/input/virtual_controller/DigitalButton.java | 4 ++-- .../binding/input/virtual_controller/DigitalPad.java | 4 ++-- .../input/virtual_controller/VirtualControllerElement.java | 4 ++-- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/com/limelight/binding/input/virtual_controller/AnalogStick.java b/app/src/main/java/com/limelight/binding/input/virtual_controller/AnalogStick.java index f233a47f..f52dfe2c 100644 --- a/app/src/main/java/com/limelight/binding/input/virtual_controller/AnalogStick.java +++ b/app/src/main/java/com/limelight/binding/input/virtual_controller/AnalogStick.java @@ -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; diff --git a/app/src/main/java/com/limelight/binding/input/virtual_controller/DigitalButton.java b/app/src/main/java/com/limelight/binding/input/virtual_controller/DigitalButton.java index 36c9d517..4d2d9ef6 100644 --- a/app/src/main/java/com/limelight/binding/input/virtual_controller/DigitalButton.java +++ b/app/src/main/java/com/limelight/binding/input/virtual_controller/DigitalButton.java @@ -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); diff --git a/app/src/main/java/com/limelight/binding/input/virtual_controller/DigitalPad.java b/app/src/main/java/com/limelight/binding/input/virtual_controller/DigitalPad.java index b580d366..c1538d34 100644 --- a/app/src/main/java/com/limelight/binding/input/virtual_controller/DigitalPad.java +++ b/app/src/main/java/com/limelight/binding/input/virtual_controller/DigitalPad.java @@ -22,6 +22,8 @@ public class DigitalPad extends VirtualControllerElement { public final static int DIGITAL_PAD_DIRECTION_DOWN = 8; List listeners = new ArrayList(); + 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); diff --git a/app/src/main/java/com/limelight/binding/input/virtual_controller/VirtualControllerElement.java b/app/src/main/java/com/limelight/binding/input/virtual_controller/VirtualControllerElement.java index ba03996f..8764a0b3 100644 --- a/app/src/main/java/com/limelight/binding/input/virtual_controller/VirtualControllerElement.java +++ b/app/src/main/java/com/limelight/binding/input/virtual_controller/VirtualControllerElement.java @@ -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);