码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2014-11-23 13:06:50      阅读:175      评论:0      收藏:0      [点我收藏+]

标签:io   ar   使用   sp   on   问题   bs   代码   ad   

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

标签:io   ar   使用   sp   on   问题   bs   代码   ad   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!