Better implementation to clear display lists
Change-Id: I58f9af4bae70a8117db1455a50c0c5daf19b2f4a
diff --git a/core/java/android/view/View.java b/core/java/android/view/View.java
index 82bdd00..cb73856 100644
--- a/core/java/android/view/View.java
+++ b/core/java/android/view/View.java
@@ -9974,12 +9974,16 @@
destroyLayer();
- if (mDisplayList != null) {
- mDisplayList.postInvalidate(mAttachInfo.mHandler);
- }
-
if (mAttachInfo != null) {
+ if (mDisplayList != null) {
+ mAttachInfo.mViewRootImpl.invalidateDisplayList(mDisplayList);
+ }
mAttachInfo.mViewRootImpl.cancelInvalidate(this);
+ } else {
+ if (mDisplayList != null) {
+ // Should never happen
+ mDisplayList.invalidate();
+ }
}
mCurrentAnimation = null;