你是否在使用flash应用程序的时候注意过延迟?还不知道那些很酷的flash游戏为什么在你电脑上运行得很慢?你是否想知道更多可能潜在的原因,这篇文章是给你的。
在我们进入真正的主题之前,你首先需要知道一点在AS3.0中实例与引用是如何工作的。如果你已经读过它,我仍然推荐阅读这微小的一步。所有的知识在你的头脑中都会是新鲜的。
在
as 3.0 api中实例化和实例的引用是不同于大多数人想象中那样的。某些东西的实例化只是代码请求创建一个对象。通常,这种行为通过"new"关键字,但这也存在在当你使用 a literal syntax或者定义参数的函数,一个对象被创建之后,它仍然保持独立直到某物引用它。为了去做这事情,你一般会创建一个变量,把对象的值赋给变量,让它知道目前被哪个对象控制。不管怎样,当你把一个变量的值赋给另一个变量时,你没有创建一个新的对象。而是为对象创建了另一个连接。
图片呈现Variable1和Variable2都能控制笑脸(即它们能持有相同的类型)。左边,只有Variable1存在。无论如何,当我们创建并设置Variable2有Variable1相同的值时,我们没有在Variable1和Variable2之间创建一个关联(图片的右上部分),反而我们在笑脸跟Variable2之间创建了一个关联(图片的右下部分)。
有了这些知识,我们可以跳到垃圾回收机制了。