summaryrefslogtreecommitdiffstats
path: root/src/com/android/launcher3/widget
diff options
context:
space:
mode:
authorHyunyoung Song <hyunyoungs@google.com>2015-06-05 13:30:19 -0700
committerHyunyoung Song <hyunyoungs@google.com>2015-06-05 13:30:19 -0700
commitf00d02b254d94eeaf52742e0640e9eacd63fafca (patch)
treefad127fa1656a143416000b9fc331b7fe4c6475e /src/com/android/launcher3/widget
parenta56eab41fbfe26b185cc8240d50d231d0db41837 (diff)
downloadandroid_packages_apps_Trebuchet-f00d02b254d94eeaf52742e0640e9eacd63fafca.tar.gz
android_packages_apps_Trebuchet-f00d02b254d94eeaf52742e0640e9eacd63fafca.tar.bz2
android_packages_apps_Trebuchet-f00d02b254d94eeaf52742e0640e9eacd63fafca.zip
Improve AyncTask throughput inside WidgetPreviewLoader
b/21133230 > Synchronized block was creating a bottleneck for the AsyncTasks. > Remove calls that doesn't need to be synchronized outside synchronized block. > Also removed setAlpha call as after the bottleneck was removed, Inefficient alpha view usage alert started popping up in traceview. Due to less jankness, removing the fadein animation doesn't have any visible effect. Link to lock congestion visualization: https://x20web.corp.google.com/~hyunyoungs/no_crawl/traceview/traceview_lockcontention.html Result: gfx-avg-jank delta = "-1" Change-Id: If12817df0730f346cdba7e2f38f232eb9a4336c0
Diffstat (limited to 'src/com/android/launcher3/widget')
-rw-r--r--src/com/android/launcher3/widget/WidgetCell.java4
-rw-r--r--src/com/android/launcher3/widget/WidgetImageView.java8
2 files changed, 11 insertions, 1 deletions
diff --git a/src/com/android/launcher3/widget/WidgetCell.java b/src/com/android/launcher3/widget/WidgetCell.java
index 2714f5182..7496ea2ef 100644
--- a/src/com/android/launcher3/widget/WidgetCell.java
+++ b/src/com/android/launcher3/widget/WidgetCell.java
@@ -26,6 +26,7 @@ import android.util.Log;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnLayoutChangeListener;
+import android.view.ViewPropertyAnimator;
import android.widget.LinearLayout;
import android.widget.TextView;
@@ -175,7 +176,8 @@ public class WidgetCell extends LinearLayout implements OnLayoutChangeListener {
if (bitmap != null) {
mWidgetImage.setBitmap(bitmap);
mWidgetImage.setAlpha(0f);
- mWidgetImage.animate().alpha(1.0f).setDuration(FADE_IN_DURATION_MS);
+ ViewPropertyAnimator anim = mWidgetImage.animate();
+ anim.alpha(1.0f).setDuration(FADE_IN_DURATION_MS);
}
}
diff --git a/src/com/android/launcher3/widget/WidgetImageView.java b/src/com/android/launcher3/widget/WidgetImageView.java
index 6f8fd897b..b0fbe1ed9 100644
--- a/src/com/android/launcher3/widget/WidgetImageView.java
+++ b/src/com/android/launcher3/widget/WidgetImageView.java
@@ -64,6 +64,14 @@ public class WidgetImageView extends View {
}
}
+ /**
+ * Prevents the inefficient alpha view rendering.
+ */
+ @Override
+ public boolean hasOverlappingRendering() {
+ return false;
+ }
+
private void updateDstRectF() {
if (mBitmap.getWidth() > getWidth()) {
float scale = ((float) getWidth()) / mBitmap.getWidth();