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,但毕竟很容易出错,相信应该还有更好的设计。

时间: 2024-08-09 16:01:00

Flex自动回收导致监听不到ModuleEvent.READY事件的相关文章

Fragment-如何监听fragment中的回退事件与怎样保存fragment状态

一.如何监听Fragment中的回退事件 1.问题阐述 在Activity中监听回退事件是件非常容易的事,因为直接重写onBackPressed()函数就好了,但当大家想要监听Fragment中的回退事件时,想当然的也想着重写onBackPressed()方法,这时候你会发现:Fragment中根本就没有onBackPressed()方法给你重写.这可怎么破! 想想,在前面的例子中,我们在Activity的一个fragment_container里依次Add进fragment1,fragment

使用python监听、模拟鼠标键盘事件

最近守望职业选手疑似开挂事件挺热闹的,在下小菜一枚,并不能从视频中看出端倪.看了一些关于外挂的讨论,自动点射和压枪只需在鼠标驱动上做些改动即可,自瞄或其他高级功能则需要读内存或修改游戏文件,检测也更容易. 士兵76长按左键扫射4发子弹之后准星就会小范围随机飘,所以想自己实现一个长按左键变自动点射的程序. 仅作测试使用,鄙视一切外挂,玩游戏就好好玩. 选择使用python,用到的库pyHook,pywin32 pyHook的文档:http://pyhook.sourceforge.net/doc_

android基础之如何实现触屏监听和鼠标点击事件

直接上代码: android基础之如何实现触屏监听和鼠标点击事件

百度地图2.4.1SDK监听覆盖物的点击事件

最近做项目用的是老版本的百度地图SDK,其中有一个需求是监听普通覆盖物的点击事件,由于这个版本不存在所谓的Marker,普通的覆盖物都是自己写一个类继承 ItemizedOverlay<OverlayItem>.监听点击事件更加麻烦,需要覆盖ItemizedOverlay里面的onTap方法,但是有2个onTap方法,应该覆盖参数是一个(int index)的onTap方法,因为另一个只要是点击地图就会调用,无论点击哪里都是这样,这也不知道为什么. protected boolean onTa

js 监听整个页面的回车事件

JS监听整个页面的回车事件 <script type="text/javascript"> document.onkeydown=keyDownSearch;        function keyDownSearch(e) {          // 兼容FF和IE和Opera          var theEvent = e || window.event;          var code = theEvent.keyCode || theEvent.which

Oracle 监听器日志文件过大导致监听异常报ORA-12514 TNS 错误

出现问题现象:ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务或者如下图: 应用异常,无法连接数据库.登陆数据库服务器,查看监听已经断掉.尝试重启监听,重启失败.检查看监听日志listener.log的大小是否已经超过4G. 解决方法: 删除listener.log(删除前可以先做备份),然后重启监听.监听重启后会自动创建一个新的日志文件. 补充: 在监听进程运行时,无法对listener.log做删除或者重命名操作. ----------------------------

Javascript 的事件监听函数和移除事件监听函数

<html> <head></head> <body> <div id="hello">hello world</div> <script> //w3c中使用addEventListener()函数监听事件,IE中使用attachEvent()函数监听事件 //w3c中使用 removeEventListener ()函数移除事件监听,IE中使用detachEvent()函数来移除事件监听 var do

js 监听浏览器刷新还是关闭事件

原作者的文章地址:http://udn.yyuap.com/forum.php?mod=viewthread&tid=96309 页面加载时只执行onload 页面关闭时只执行onunload 页面刷新时先执行onbeforeunload,然后onunload,最后onload. 经过验证我得出的结论是: //对于ie,谷歌,360: //页面加载时只执行onload //页面刷新时,刷新之前执行onbeforeunload事件,在新页面即将替换旧页面时onunload事件,最后onload事件

监听按钮的点击事件的三种实现方式

1.匿名内部类监听按钮点击事件 Button buttonup=(Button)findViewById(R.id.btn_signup); //找到需要的Button按钮,转换成Button类型 buttonin.setOnClickListener(new View.OnClickListener() { //设置Button的监听器 @Override public void onClick(View v) { Toast.makeText(MainActivity.this,"点击了登录