From fc343967c8310a425d2df2aefd01fbe60bf3ef3a Mon Sep 17 00:00:00 2001 From: Chet Haase Date: Wed, 18 Sep 2013 08:44:33 -0700 Subject: Fix leak fix in ViewTreeObserver The leak fix of the CopyOnWriteArray in ViewTreeObserver was too aggressive, always clearing the shadow copy when it should only have cleared it when needed. The way it works now, we will always clear the listeners for ViewTreeObserver after the listeners are processed. Issue #10815924 ViewTreeObserver leak fix too aggressive Change-Id: Iff0095d73beb38e52b0a5ae6b6378afec4458fd3 --- core/java/android/view/ViewTreeObserver.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/java/android/view/ViewTreeObserver.java b/core/java/android/view/ViewTreeObserver.java index ad8b51db4a1a..f9298ea1ed23 100644 --- a/core/java/android/view/ViewTreeObserver.java +++ b/core/java/android/view/ViewTreeObserver.java @@ -990,10 +990,10 @@ public final class ViewTreeObserver { mStart = false; if (mDataCopy != null) { mData = mDataCopy; + mAccess.mData.clear(); + mAccess.mSize = 0; } mDataCopy = null; - mAccess.mData.clear(); - mAccess.mSize = 0; } int size() { -- cgit v1.2.3-59-g8ed1b