重用对象能带来内存和性能的节省,但有好多情况,对象是不能重用的。
最典型的例子是Loader。
var load:Loader = new Loader();
load.load(new URLRequest("img.jpg"));
调用了一次load.load(),程序就会开始加载资源,如果再次调用load.load(),而前一次还没加载完成,就把前一次结果冲掉了,这一般不是我们想要的结果。由此看来,Loader的对象不适合重用,所以每次都要重新new。什么情况下对象才可以重用呢?
1.对象的方法都是及时的,一般都是常见的工具类,如StringUtil等。
2.对象的方法不是及时的,但每次调用都互不干扰,也就是可重入。如TweenLite.to。tweenlite是如何做的呢,其实没调用一次to方法,都生成一个类来实现缓动的过程。仿造tweenlite的做法,也可以做一个这样的loader。