加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

flex removeEventListener MDIWINDOW 移除 timer

发布时间:2020-12-15 00:59:43 所属栏目:百科 来源:网络整理
导读:项目用了 MDIWindow ? 其中一个MDIWindow打开的时候会创建一个timer 定时去请求数据 ? 问题是:当我把这个window关掉的时候 这个timer 还是会一直执行,而且再开一个这个window又会再新增一个timer 如此下去 会有很多timer ? 我还以为window关闭的时候会自动

项目用了 MDIWindow

?

其中一个MDIWindow打开的时候会创建一个timer 定时去请求数据

?

问题是:当我把这个window关掉的时候 这个timer 还是会一直执行,而且再开一个这个window又会再新增一个timer 如此下去 会有很多timer

?

我还以为window关闭的时候会自动销毁,但是貌似网上说FLEX的GC有很多bug 而且很多对象不会被及时的GC

?

首先想到的是在mdiwindow关闭的时候添加监听移除timer的事件

?

win.addEventListener(MDIWindowEvent.CLOSE,function(e:Event):void{tm.timeEnd();});

?

创建单例的方式也不行 因为关掉之后至少还有一个timer在运行..

private static var _instance:AppContext; 

public static function getInstance():AppContext {  

        if(_instance == null) {  

            _instance = new AppContext();  

        }  

        return _instance;  

    }

?最后决定 单例+mdiwindow关闭的时候添加监听移除timer的事件

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读