public function unload():void
运行时版本: | AIR 1.0 Flash Player 9, Flash Lite 4 |
删除此 Loader 对象中使用 load()
方法加载的子项。将关联 LoaderInfo 对象的 property
重置为 null
。不必破坏子级,因为其他对象可能要引用它;但是,它不再是 Loader 对象的子级。
最佳做法是,在卸载子 SWF 文件之前,您应该显式关闭子 SWF 文件的对象(如 LocalConnection、NetConnection、NetStream 和 Sound 对象)中的任何流。否则,子 SWF 文件中的音频可能会继续播放,即使已卸载子级 SWF 文件。要关闭子 SWF 文件中的流,请向子文件中添加事件侦听器以侦听 unload
事件。当父文件调用 Loader.unload()
时,将为子文件分派 unload
事件。以下代码显示了完成上述任务的方法:
function closeAllStreams(evt:Event) {
myNetStream.close();
mySound.close();
myNetConnection.close();
myLocalConnection.close();
}
myMovieClip.loaderInfo.addEventListener(Event.UNLOAD, closeAllStreams);
public function unloadAndStop(gc:Boolean = true):void
运行时版本: | Flash Player 10, AIR 1.5, Flash Lite 4 |
尝试卸载子 SWF 文件内容并停止执行已加载的 SWF 文件中的命令。此方法尝试通过删除对子 SWF 文件的 EventDispatcher、NetConnection、Timer、Sound 或 Video 对象的引用,从而卸载使用 Loader.load()
或 Loader.loadBytes()
加载的 SWF 文件。因此,针对子 SWF 文件和子 SWF 文件的显示列表将发生以下行为:
- 停止声音。
- 删除舞台事件侦听器。
- 删除
enterFrame
、frameConstructed
、exitFrame
、activate
和 deactivate
的事件侦听器。 - 停止计时器。
- 断开摄像机和麦克风实例
- 停止影片剪辑。
参数
| gc :Boolean (default = true ) — 提示垃圾回收器对 SWF 子对象执行 (true ) 还是不执行 (false ) 垃圾回收。如果要以异步方式卸载很多对象,则将 gc 参数设置为 false 可能会提高应用程序的性能。但是,如果将该参数设置为 false ,则在运行 unloadAndStop() 命令之后,子 SWF 文件的媒体和显示对象可能还会保存在内存中。 |