如何确保在Flex中的Repeater中删除项目

时间:2010-08-04 07:53:02

标签: flex

我有这样的代码:

        <mx:Repeater id="allItemRepeator" 
                     dataProvider="{_model.allItems}"
                     >
                <components:ComponentSelector id="componentSelector"
                                              dataLoad="{allItemRepeator.currentItem}"  />  
        </mx:Repeater>

当allItems的代码更改时,项目会按预期从屏幕中消失,但仍然在内存中!我通过具有“跟踪”的组件内部的函数知道这一点,因此即使组件从屏幕上消失,跟踪输出仍然会显示。如何在删除引用时确保删除该元素?使用基于列表的组件来显示项目而不是“Repeator”可以解决问题(它需要对我的代码进行大量重构,所以我在尝试之前会问)

1 个答案:

答案 0 :(得分:0)

还有一些东西仍然存在对组件的引用,因此它不会被垃圾收集。特别是绑定(我注意到你正在使用)因此而臭名昭着。

调试问题的最佳方法是通过探查器运行您的应用程序,并查看在删除组件后保留对该组件的引用。