Posts Tagged ‘removeEventListener’

  • removeEventListener,默认的是需要2个参数,一个是type:string,另外一个是listener:function

    如果是正常情况下,我们为一个EventDispatch的子类removeEventListener时,只写一个参数编译时会报错。

    但是,如果是一个编译器未知的对象类型,执行removeEventListener,只输入第一个参数的话,编译可以过去,并且,在运行时可以正常工作。

  • 今天看Adobe的FlashPlayer10 Native 3D 的Demo,发现了这样的代码。

    protected function hidePoster(p_event:VideoEvent):void {
    	clip.vid.removeEventListener(VideoEvent.READY, hidePoster);
    	.....
    }
    

    EventListener本身也是要占用资源的,在执行完监听,并且不需要继续监听的时候,立即将其移除是一个很好的习惯。现在公司的Flex项目,是一个很大的企业应用。一直以来这个项目的一个大问题就是性能(同时3000+UI需要显示的时候)。

    虽然EventListener和UI所占的内存不是同一等级的,但养成随时释放内存的习惯,是当今Flex很需要注意的问题。我现在还是认为,Flex在今后与SL的竞争中,其性能问题是举足轻重的。