使用属性动画不停旋转图片的时候出现内存泄漏,跪求帮助该怎么解决!!!

易水寒1992 2015-01-29 09:07:01
下面是出现泄漏的代码片段,help!!!
private void initTurntalbeAnim() {
final View v = mTurntableLayout;
final float centerX = mContext.getResources().getDimension(R.dimen.turntable_width_anim) / 2;
final float centerY = mContext.getResources().getDimension(R.dimen.turntable_height_anim) / 2;
mTurntableAnim = ValueAnimator.ofFloat(0, 360f);
mTurntableAnim.setDuration(6000);
mTurntableAnim.setRepeatCount(ValueAnimator.INFINITE);
mTurntableAnim.setInterpolator(new LinearInterpolator());
v.setPivotX(centerX);
v.setPivotY(centerY);
mTurntableAnim.addUpdateListener(new AnimatorUpdateListener() {

@Override
public void onAnimationUpdate(ValueAnimator animation) {
//出现内存泄漏代码
mTurntableLayout.setRotation((Float) animation.getAnimatedValue());
}

});
}
...全文
292 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
七彩蜡笔 2016-06-27
  • 打赏
  • 举报
回复
从Android3.0开始,Google提供了属性动画,属性动画中有一类无限循环的动画,如果在Activity中播放此类动画并且在onDestroy()方法中没有停止该动画,那么动画会一直循环下去,尽管在界面上已经无法看不到动画了,但这个时候Activity的View会被动画持有,而View又持有Activity,最终Activity无法释放。下面的动画是无限循环的,会泄露当前的Activity。
易水寒1992 2015-01-31
  • 打赏
  • 举报
回复
谢谢两位回复我的第一个帖子!
大崔527 2015-01-30
  • 打赏
  • 举报
回复
rotateanimation 可以试下这个类哦。
马甲大王 2015-01-30
  • 打赏
  • 举报
回复
不是有一个翻转的属性的动画吗?用那个 试试

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧