我正在加载一些swf文件在我的舞台上的0。它们是我网站的页面。
要在页面之间切换,我使用removeChildAt(0),然后使用addChildAt("page_title",0)。
问题是removeChild不会从第一个加载(卸载前)的swf文件中删除函数。
那我怎么能停下来呢?
我必须使用其他方法来removeChild吗?
谢谢!
发布于 2009-09-26 15:54:42
在我看来,你并不是真的要移除它们。首先,从显示列表中删除某些内容只是一种视觉/交互更改。它仍然在运行,直到您删除对它的任何引用,作为事件侦听器或w/e,然后您必须将其设置为null,以便垃圾收集在下一个周期中捕获它。
如果你使用的是Flash player10,spender是正确的,unloadAndStop将为你工作,因为他们最近创建了它来解决你的问题。
我只是觉得我应该解释一下发生了什么,因为人们不仅应该知道修复,还应该知道为什么会发生这样的事情。
另一个建议是,我不会将这些电影加载到stage,我会创建一个容器Sprite/MovieClip来保存它们,这样即使你后来添加了其他东西,它们也是分开的,干净的,并且很容易通过它们的父级(例如imageContainer_mc)来访问。
发布于 2009-09-21 02:08:38
假设您正在使用Loader加载,您可以使用unloadAndStop方法。
更多信息请点击此处:
http://www.gskinner.com/blog/archives/2008/07/additional_info.html
发布于 2009-09-29 16:26:57
或者,您可以将子电影加载到不同的ApplicationDomain中,以将加载的代码与主应用程序隔离开来。看看flash.system.ApplicationDomain类(它是Loader.load()方法的一个参数)。
https://stackoverflow.com/questions/1452557
复制相似问题