0

我也找到了这个主题,但它不能解决我的问题其他主题

我有一个加载其他 swc 的模块加载器,但是当我查看应用程序的内存时,似乎每次加载一个模块时,前一个模块都不会被卸载,因此内存会增加。

这就是我加载模块的方式:

  <module:ModuleViewLoader id="moduleViewLoader" moduleManager="{presenter.deviceModuleManager}"
                             top="0" left="0" right="0" bottom="0"
                             moduleId="configurationView"
                             height="100%" 
                             width="100%" enabled="{presenter.deviceLoadable}"
                             ready="presenter.handleModuleLoaded(moduleViewLoader.loadedModule)"
                             error="presenter.handleModuleLoadError(event)"
                             unload="presenter.closeConfiguration(event)">
        <module:loadPolicy>
            <module:BasicLoadPolicy/>
        </module:loadPolicy>
    </module:ModuleViewLoader>

离开模块时,我这样做:

public function resetModuleSpecifications():void {
        closeConfiguration();
        changewatcher.unwatch();
        loadedModule = null;
        lastLoadedDevice = null;
        deviceModuleManager=null;
        deviceBeingConfigured = null;
         }

但似乎模块加载器并没有卸载他内存中的对象。但是触发了卸载事件,有人知道吗?如何从模块加载器中删除对象

4

1 回答 1

0

模块留在内存中的原因可能有多种,您能做的最好的事情就是阅读Alex Harui的这篇出色的博客文章:http : //blogs.adobe.com/aharui/2009/08/what_we_know_about_unloading_m.html

除非您发现新错误,否则它应该可以帮助您解决问题:)

希望有帮助

于 2012-03-24T08:57:32.777 回答