在代码重构的过程,发现动态管理Module内存泄漏很严重. 在编码阶段, 其实就已经发现这个问题, 但是没有时间去解决. 那时候很小心很小心地写代码, 尽量删除对象之间的引用, 但是内存泄漏仍然存在. 其中,有一个信息显示的简单的Module没有发生泄露, 但是复杂的Module都发生泄露. 查询很多资料,大家普遍认为是Flex3.2的BUG. 各位同学有什么回避方法.
1.通过下列代码加载Module
this._moduleInfo = ModuleManager.getModule(moduleName);
this._moduleInfo.addEventListener(ModuleEvent.READY, onModuleReady);
this._moduleInfo.load(ApplicationDomain.currentDomain);
2.通过下列代码卸载Module
this._moduleInfo.removeEventListener(ModuleEvent.READY, onModuleReady);
this._moduleInfo.addEventListener(ModuleEvent.UNLOAD, onModuleUnload);
this._moduleInfo.unload();
最后 this._moduleInfo.release()
[备注]项目大约有40多个Module.