From 70abd3f91c9e1c3db03f505b1af48e014bee657c Mon Sep 17 00:00:00 2001 From: Sunny Goyal Date: Fri, 27 Apr 2018 11:53:51 -0700 Subject: [PATCH] Preventing new object creation during animation frame Bug: 74556464 Change-Id: I85c106839c11f9588d5f4a6f1ffa35cafb754624 --- .../src/com/android/quickstep/views/RecentsView.java | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/quickstep/src/com/android/quickstep/views/RecentsView.java b/quickstep/src/com/android/quickstep/views/RecentsView.java index 5fff51cd12..7d707e37a8 100644 --- a/quickstep/src/com/android/quickstep/views/RecentsView.java +++ b/quickstep/src/com/android/quickstep/views/RecentsView.java @@ -107,6 +107,8 @@ public abstract class RecentsView extends PagedView impl private static final boolean FLIP_RECENTS = true; private static final int DISMISS_TASK_DURATION = 300; + private static final float[] sTempFloatArray = new float[3]; + protected final T mActivity; private final QuickScrubController mQuickScrubController; private final float mFastFlingVelocity; @@ -985,11 +987,10 @@ public abstract class RecentsView extends PagedView impl private float[] getAdjacentScaleAndTranslation(TaskView currTask, TaskView adjacentTask, float currTaskToScale, float currTaskToTranslationY) { float displacement = currTask.getWidth() * (currTaskToScale - currTask.getCurveScale()); - return new float[] { - currTaskToScale * adjacentTask.getCurveScale(), - mIsRtl ? -displacement : displacement, - currTaskToTranslationY - }; + sTempFloatArray[0] = currTaskToScale * adjacentTask.getCurveScale(); + sTempFloatArray[1] = mIsRtl ? -displacement : displacement; + sTempFloatArray[2] = currTaskToTranslationY; + return sTempFloatArray; } @Override