summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Chet Haase <chet@google.com> 2013-09-18 08:44:33 -0700
committer Chet Haase <chet@google.com> 2013-09-18 08:44:33 -0700
commitfc343967c8310a425d2df2aefd01fbe60bf3ef3a (patch)
tree8df15a85c58af0ff09a82893ca4348c74bab975e
parente48569a87057e46a30d3dcbb2d788a4e4da7f21c (diff)
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
-rw-r--r--core/java/android/view/ViewTreeObserver.java4
1 files 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() {