diff options
| author | Chet Haase <chet@google.com> | 2011-07-15 15:24:18 -0700 |
|---|---|---|
| committer | Chet Haase <chet@google.com> | 2011-07-15 15:24:18 -0700 |
| commit | 622e05c4d2f7c7542ab9cdd30c31813cb6cdb103 (patch) | |
| tree | 20ad1e60810b5b43f6c64d24b9b20944b3e11918 /core/java/android/animation | |
| parent | 75683d59db7d2c34093081ed6ca1f269192c550f (diff) | |
| download | frameworks_base-622e05c4d2f7c7542ab9cdd30c31813cb6cdb103.zip frameworks_base-622e05c4d2f7c7542ab9cdd30c31813cb6cdb103.tar.gz frameworks_base-622e05c4d2f7c7542ab9cdd30c31813cb6cdb103.tar.bz2 | |
Fix leak in LayoutTransition
Static objects were referencing the first LayoutTransition object,
which referenced its target container, which eventually referenced the
Activity. That reference chain never went away.
The fix is to create animators that do not reference any target
object (they are just templates which are loaded with real target
objects when they are started).
Change-Id: Ie29f53bf3b886b8052b6ee3a56647a312d9adeaa
Diffstat (limited to 'core/java/android/animation')
| -rw-r--r-- | core/java/android/animation/LayoutTransition.java | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/core/java/android/animation/LayoutTransition.java b/core/java/android/animation/LayoutTransition.java index d25de97..12a4dbb 100644 --- a/core/java/android/animation/LayoutTransition.java +++ b/core/java/android/animation/LayoutTransition.java @@ -235,7 +235,7 @@ public class LayoutTransition { PropertyValuesHolder pvhBottom = PropertyValuesHolder.ofInt("bottom", 0, 1); PropertyValuesHolder pvhScrollX = PropertyValuesHolder.ofInt("scrollX", 0, 1); PropertyValuesHolder pvhScrollY = PropertyValuesHolder.ofInt("scrollY", 0, 1); - defaultChangeIn = ObjectAnimator.ofPropertyValuesHolder(this, + defaultChangeIn = ObjectAnimator.ofPropertyValuesHolder((Object)null, pvhLeft, pvhTop, pvhRight, pvhBottom, pvhScrollX, pvhScrollY); defaultChangeIn.setDuration(DEFAULT_DURATION); defaultChangeIn.setStartDelay(mChangingAppearingDelay); @@ -244,11 +244,11 @@ public class LayoutTransition { defaultChangeOut.setStartDelay(mChangingDisappearingDelay); defaultChangeOut.setInterpolator(mChangingDisappearingInterpolator); - defaultFadeIn = ObjectAnimator.ofFloat(this, "alpha", 0f, 1f); + defaultFadeIn = ObjectAnimator.ofFloat(null, "alpha", 0f, 1f); defaultFadeIn.setDuration(DEFAULT_DURATION); defaultFadeIn.setStartDelay(mAppearingDelay); defaultFadeIn.setInterpolator(mAppearingInterpolator); - defaultFadeOut = ObjectAnimator.ofFloat(this, "alpha", 1f, 0f); + defaultFadeOut = ObjectAnimator.ofFloat(null, "alpha", 1f, 0f); defaultFadeOut.setDuration(DEFAULT_DURATION); defaultFadeOut.setStartDelay(mDisappearingDelay); defaultFadeOut.setInterpolator(mDisappearingInterpolator); |
