ValueAnimator 内存问题
ValueAnimator memory issue
我正在使用 ValueAnimator
个浮点值。
ValueAnimator anim = ValueAnimator.ofFloat(-1, 1);
anim.addUpdateListener(new AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator animation) {
float f = (float) animation.getAnimatedValue();
}
});
问题所在 - 内存分配跟踪器检测到每次调用 getAnimatedValue()
都会创建一个新的 Float
对象。我在 INFINITE
重复模式下使用 ValueAnimator
并且不断创建新对象是个问题。有什么办法可以防止一直创建新对象吗?
P.S.: 我知道这种内存泄漏根本不是关键,只是对优化感兴趣。
有一种方法可以防止在每次调用 onAnimationUpdate()
方法时创建新的 Float
对象。就我而言,它看起来像:
@Override
public void onAnimationUpdate(ValueAnimator animation) {
float t = 2f * animation.getAnimatedFraction() - 1f;
}
我正在使用 ValueAnimator
个浮点值。
ValueAnimator anim = ValueAnimator.ofFloat(-1, 1);
anim.addUpdateListener(new AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator animation) {
float f = (float) animation.getAnimatedValue();
}
});
问题所在 - 内存分配跟踪器检测到每次调用 getAnimatedValue()
都会创建一个新的 Float
对象。我在 INFINITE
重复模式下使用 ValueAnimator
并且不断创建新对象是个问题。有什么办法可以防止一直创建新对象吗?
P.S.: 我知道这种内存泄漏根本不是关键,只是对优化感兴趣。
有一种方法可以防止在每次调用 onAnimationUpdate()
方法时创建新的 Float
对象。就我而言,它看起来像:
@Override
public void onAnimationUpdate(ValueAnimator animation) {
float t = 2f * animation.getAnimatedFraction() - 1f;
}