From 68be3529e442cdab1bc544d1026144e0b13f0b36 Mon Sep 17 00:00:00 2001 From: Chris Craik Date: Wed, 13 Apr 2016 14:46:13 -0700 Subject: Destroy drawing cache when switching layer type bug:27099358 Change-Id: Ia308dd817799b6d64a802df211c39efc25c99e7e --- core/java/android/view/View.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/core/java/android/view/View.java b/core/java/android/view/View.java index 7e5109637855..13712fb46b08 100644 --- a/core/java/android/view/View.java +++ b/core/java/android/view/View.java @@ -15741,8 +15741,10 @@ public class View implements Drawable.Callback, KeyEvent.Callback, return; } - // Destroy any previous software drawing cache if needed - if (mLayerType == LAYER_TYPE_SOFTWARE) { + if (layerType != LAYER_TYPE_SOFTWARE) { + // Destroy any previous software drawing cache if present + // NOTE: even if previous layer type is HW, we do this to ensure we've cleaned up + // drawing cache created in View#draw when drawing to a SW canvas. destroyDrawingCache(); } -- cgit v1.2.3-59-g8ed1b