使用加载器时遇到了一些问题,我觉得我需要完全了解 unloadAndStop() 方法的工作原理。我正在开发一个在运行时需要时加载多个 swf 的项目。为此,我一直在使用单个加载器,并在完成后将其内容提取到缓存中。
单个加载器是通过我没有编写的扩展类实现的,它似乎在加载新的 URLRequest 时实现了“unloadAndStop(true)”方法。
现在,我在使用这个系统时遇到了一些奇怪的问题,我将其追溯到 unloadAndStop(true) 调用,根据 Adobe 文档,该调用会停止音频、播放和标志,以供垃圾收集器删除。显然这不是我想要的;我仍然在舞台上和我的缓存中引用了这个对象!对我来说似乎很奇怪,有一种方法可以以这种方式直接标记垃圾收集,据我所知,没有其他方法可以做到这一点。
所以这让我假设为了正确地移除装载装载机的东西,你必须以这种方式卸载它。是这样吗?如果我加载某些内容,将其内容拉出到movieClip1,加载新的movieClip,然后删除对movieClip1的所有引用(原始Loader内容)将被垃圾收集,还是必须通过unloadAndStop方法删除?
TL;博士:
是否有必要从加载程序调用 unloadAndStop(true) 以保证它已加载的任何内容都从内存中删除,或者加载程序可以加载另一个 URLRequest 而不必担心内存泄漏?