首页 > 其他 > 详细

Flex自动回收导致监听不到ModuleEvent.READY事件

时间:2014-11-23 13:05:30      阅读:163      评论:0      收藏:0      [点我收藏+]

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事件

原文:http://www.cnblogs.com/clickmoon/p/4116346.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!