Flex垃圾回收机制

    技术2022-05-19  20

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

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

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

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

      例如:

         

        var txtInput:TextInput = new TextInput();

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

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

        

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

     


    最新回复(0)