Apache flex Cairgrom模块读卡器内存泄漏?
我也发现了这个话题,但它并不能解决我的问题 我有一个加载其他swc的模块加载器,但当我查看应用程序的内存时,似乎每次加载一个模块时,前一个模块都没有卸载,因此内存增加 这是我加载模块的方式:Apache flex Cairgrom模块读卡器内存泄漏?,apache-flex,cairngorm,Apache Flex,Cairngorm,我也发现了这个话题,但它并不能解决我的问题 我有一个加载其他swc的模块加载器,但当我查看应用程序的内存时,似乎每次加载一个模块时,前一个模块都没有卸载,因此内存增加 这是我加载模块的方式: <module:ModuleViewLoader id="moduleViewLoader" moduleManager="{presenter.deviceModuleManager}" top="0" left="0" right="0
<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>
但是模块加载器似乎没有卸载内存中的对象。但是卸载事件被触发了,有人知道吗?
如何从模块加载器中删除对象可能有几个原因导致模块固定在内存中,您最好阅读Alex Harui的这篇优秀博客文章: 除非您发现新的bug,否则它将帮助您解决问题:)
希望能有所帮助我想这是mx:ModuleLoader中的一个bug。Cairngorm ModuleViewLoader使用此组件。所以,如果你知道周围的工作,我会很高兴!您能否仅使用ModuleLoader复制错误?如果不是,它就不是一个bug。很抱歉,我对Cairngorm了解不多,无法帮助您。是的,如果您只使用mx:ModuleLoader,那么您可以用代码重新记录内存泄漏,然后发布另一个问题,以便我可以查看,或者根据您的需要更新此问题。要复制的完整最小代码。您的意思是使用mx:moduleLoader
public function resetModuleSpecifications():void {
closeConfiguration();
changewatcher.unwatch();
loadedModule = null;
lastLoadedDevice = null;
deviceModuleManager=null;
deviceBeingConfigured = null;
}