diff options
| author | 2013-09-18 08:44:33 -0700 | |
|---|---|---|
| committer | 2013-09-18 08:44:33 -0700 | |
| commit | fc343967c8310a425d2df2aefd01fbe60bf3ef3a (patch) | |
| tree | 8df15a85c58af0ff09a82893ca4348c74bab975e | |
| parent | e48569a87057e46a30d3dcbb2d788a4e4da7f21c (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.java | 4 |
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() { |