unloadAndStop

cs4里的一个API,Loader.unloadAndStop
非常好用啊,非常爽。但是也遇到个问题,害得我找了2个小时。
假设:
A 载入 B
B 载入 C
这个时候,在A里面用unloadAndStop卸载B,报错,莫名其妙的错,而且没有错误来源。
需要先在B里把C,removeChild掉,再在A里面卸载B,就OK了。

 

我遇到过这样的问题!单用的unload()和unloadAndStop()都有卸载BUG,但是我在unload()方法后加了一个removeChild()方法,加载进来的swf才算卸载干净

 

 

 

 

ps:

flash.display.Loader.unloadAndStop(gc:Boolean=true):void

尝试卸载子 SWF 文件内容并停止执行已加载的 SWF 文件中的命令。此方法尝试通过删除对子 SWF 文件的 EventDispatcher、NetConnection、Timer、Sound 或 Video 对象的引用,从而卸载使用 Loader.load()Loader.loadBytes() 加载的 SWF 文件。因此,针对子 SWF 文件和子 SWF 文件的显示列表将发生以下行为:
  • 停止声音。
  • 删除舞台事件侦听器。
  • 删除 enterFrameframeConstructedexitFrameactivatedeactivate 的事件侦听器。
  • 停止计时器。
  • 断开摄像机和麦克风实例
  • 停止影片剪辑。
参数:
gc 提示垃圾回收器对 SWF 子对象执行 ( true) 还是不执行 ( false) 垃圾回收。如果要以异步方式卸载很多对象,则将 gc 参数设置为 false 可能会提高应用程序的性能。但是,如果将该参数设置为 false,则在运行 unloadAndStop() 命令之后,子 SWF 文件的媒体和显示对象可能还会保存在内存中。
另请参阅:
flash.display.DisplayObject
flash.display.Loader.load()
语言版本:
3.0
Player 版本:
Flash 10, AIR 1.5

我没有尝试,但觉得true后应该b里的c也会被清理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值