fragment 中的 animatorSet 对象, 出现了内存泄漏,求大神帮助我

qq_21894341 2016-02-07 07:19:37
程序的结构是activity加载fragment,fragment中有几个animatorSet数组。

实例化的时候,是这样的

animatorSetsShow = new AnimatorSet[5];
this.animatorSetsShow[0] = (AnimatorSet) AnimatorInflater.loadAnimator(getActivity(), R.animator.circle_show_1);
this.animatorSetsShow[1] = (AnimatorSet) AnimatorInflater.loadAnimator(getActivity(), R.animator.circle_show_2);
this.animatorSetsShow[2] = (AnimatorSet) AnimatorInflater.loadAnimator(getActivity(), R.animator.circle_show_3);
this.animatorSetsShow[3] = (AnimatorSet) AnimatorInflater.loadAnimator(getActivity(), R.animator.circle_show_4);
this.animatorSetsShow[4] = (AnimatorSet) AnimatorInflater.loadAnimator(getActivity(), R.animator.circle_show_5);
for (int i = 0; i < 5; i ++) {
this.animatorSetsShow[i].setTarget(this.circles[i]);
}


当我用一个新的fragment来replace现在的fragment时,这些动画所占用的资源不能被系统,反复多次切换fragment就会内存溢出

当我把所有与动画相关的代码都打上注释再跑一遍,就不会出现内存溢出的问题了

尝试过在fragment.onDestroy()方法里,把所有动画都pause掉,但是仍然不能被回收

不知道大家有没有什么思路,能帮帮我么。。。感激不尽啊!!!
...全文
343 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
vqwertyv 2016-02-18
  • 打赏
  • 举报
回复
因为有一些引用关系没有断掉所以系统不会回收,可以改成弱引用试试。

80,471

社区成员

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

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