首页 > 代码库 > Flex自动回收导致监听不到ModuleEvent.READY事件
Flex自动回收导致监听不到ModuleEvent.READY事件
Flex中可以动态载入模块,以达到延迟加载,减小主程序体积的效果。通常可以使用如下代码:
var iminfo:IModuleInfo = ModuleManager.getModule("****.swf");
// _moduleInfo=iminfo;
iminfo.addEventListener( ModuleEvent.READY,onModuleLoad);
iminfo.load(ApplicationDomain.currentDomain);
很多人会发现无法捕获onModuleLoad事件,无法触发onModuleLoad。今天就遇到了这个奇怪的问题,第一次load无法触发,但第二次load可以。所幸在网上找到了答案,原来是iminfo对象是局部变量,被回收了。
解决方法是定义一个类变量_moduleInfo,引用iminfo,这样iminfo就不会被释放了。
虽说这不算是FLEX API的bug,但毕竟很容易出错,相信应该还有更好的设计。
Flex自动回收导致监听不到ModuleEvent.READY事件
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。