【发布时间】:2015-12-30 00:34:46
【问题描述】:
我正在使用 flash.display.Loader 加载外部 SWF。
当我使用完 SWF 后,手动删除对加载器和 SWF 内容的所有引用是否足以将其释放以进行垃圾收集?还是我也必须调用 Loader/unload()?
【问题讨论】:
标签: actionscript-3 flash garbage-collection
我正在使用 flash.display.Loader 加载外部 SWF。
当我使用完 SWF 后,手动删除对加载器和 SWF 内容的所有引用是否足以将其释放以进行垃圾收集?还是我也必须调用 Loader/unload()?
【问题讨论】:
标签: actionscript-3 flash garbage-collection
从Loader的ASDocs可以看出
调用 unload() 方法时,Loader 对象的 contentLoaderInfo 属性设置为 null。使用 SWF 加载的任何视觉资源都会被卸载并从内存中删除。加载的 SWF 中的 ActionScript 类定义保留在内存中,与加载的 SWF 位于同一应用程序域中的代码可以访问这些类的实例并创建新实例。
我认为从内存中删除它的最好和最安全的方法是删除所有事件侦听器,卸载并将加载器设置为 null。
【讨论】: