removeChildAt()是否清除了cpu资源?

时间:2009-09-07 06:54:04

标签: actionscript-3 memory flash loading

我正在从一个主SWF加载/卸载几个swfs。当我加载一个新的swf时,我会做这样的事情:

contentContainer.addChild(the new swf); //add the new swf
contentContainer.swapChildrenAt(0,1);
contentContainer.removeChildAt(1); //remove the previous swf

我的问题是,当我删除ChildAt()时,旧的swf是否继续“播放”并继续占用cpu资源?我怎么能彻底杀死它?如果旧swf中有音频或视频,它甚至在删除后仍会继续播放。

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

您可能想要尝试以下内容:

var mc:MovieClip = contentContainer.removeChildAt(1) as MovieClip;
mc.stop();

或者在卸载的swf中嵌入的电影上制作一些公共的stop()方法。 (ref

你可能需要一些变化。

此外,如果你能够,你也可以让孩子swfs听取Event.ADDED_TO_STAGEEvent.REMOVED_FROM_STAGE事件。在这种意义上让他们控制自己可能更有意义,而不是依靠父容器来阻止他们。