0

再一次关于 actionscript-3 中的垃圾收集器的问题:

如果我有一个主容器:

var masterContainer:Sprite = new Sprite();

然后我在这个容器中添加了一个孩子:

var childImage:Sprite = new Sprite();
masterContainer.addChild(childImage);
addChild(masterContainer);

然后,我决定让垃圾收集器收集主容器及其所有内容,这样就够了吗?

removeChild(masterContainer);
masterContainer = null;

还是我必须将所有子图像的引用存储在某个地方,以便以后能够从主容器中删除它们的子图像?

此外,是否可以让垃圾收集器在删除某些内容时记录一条消息,以及它到底删除了什么?也许是某种事件?

4

1 回答 1

3

你问题的第一部分:

从技术上讲,这就足够了。虽然这取决于副作用。如果您有非弱侦听器,则不会进行 GC。

第二部分:

您可以将要监视的对象作为弱键使用字典。然后运行一个计时器,看看它什么时候被删除。

于 2009-08-27T12:43:41.810 回答