Tweenlite防止内存溢出的写法

来源:互联网 发布:arp static ip mac 编辑:程序博客网 时间:2024/05/21 06:32
对于一些老鸟来说也会出现莫名其妙的内存溢出问题,有时候这种“偷袭”会让我们不知所措,此时可能只有Flash Builder的profile能告诉我们是哪个狗东西搞得鬼。我们敬爱的导师MoonSpirit在使用Tweenlite时就有过内存溢出的经验,Tweenlite是一个Flash动画补间引擎,在之前的案例里面我有提到过,它最最常用的方法是TweenLite.to()方法,我们一般都是直接使用这个静态方法,而忽略了该方法会返回一个TweenLite的实例,因此我们每次调用TweenLite.to()方法时都会新声明一个新的TweenLite实例,待实例一多就会出现内存溢出的危险,因此一个好的习惯是每次用TweenLite.to()方法后都及时把它生成的实例给干掉,我们可以使用TweenLite实例它自带的kill方法来做到:
  1. var tween:TweenLite = TweenLite.to(ball, 1, 
  2. {x:mouseX, y:mouseY, onComplete: function(){ tween.kill() } });
复制代码
这样就可以在每一次补间动画播放完毕后让to方法新生成的TweenLite实例停止播放并标记为“回收”状态,在下一次Flash Player垃圾回收阶段会回收这些无用的实例,释放内存。
0 0