Flex垃圾回收机制

最近在一本书上看到介绍Flex中的垃圾回收机制。有几处不错,所以就贴了出来:

1.在显示组件中有addChild() 或addElement()方法,就要有对应的removeChild()和removeElement()方法。

2.事实上,在Flex中导致内存泄露的最常见原因是没有恰当地使用事件监听函数。

    同样,addEventListener()也对应一个removeEventListener()方法;还有一个比较省事的办法就是在监听函数中使用弱引用。

  例如:

     

    var txtInput:TextInput = new TextInput();

     txtInput.addEventListener('change', handleTextChanged, false, 0, true);

     最后一个参数表明,由监听函数建立的引用会被认为是弱引用。

    

    更明确的说,如果某个对象有一个强引用和3个弱引用,这个对象就不会作为垃圾被收集;然而如果移除了强引用,弱引用就会被忽略,而对象就会被收集。

 

你可能感兴趣的:(Flex垃圾回收机制)