PDA

Просмотр полной версии : Как удалять из памяти потомков UIComponent, c Bindable полями? (утечки памяти)


chabapok
16.10.2009, 13:36
Обнаружил, что если у нас есть свой компонент в котором используется Binding, то простого removeChild и удаления всех ссылок на него недостаточно - в памяти он остается.

Вот как его грамотно удалить?

Добавлено через 39 минут
поясню на примере
мой компонент такой:


<mx:Canvas ляляля>
[Bindable]
public var item:myClassName;

<mx:TextArea text="{item.name}"
id="textarea1" editable="false" />
<mx:Label y="55" text="{item.author}" id="label3" />

</mx:Canvas>


Если я делаю:
var:myComp = new myComp(); addChild(myComp);
а потом где-то позже делаю
delete this.removeChildAt(0);

и в профилеровщике вижу, что компонент остается в памяти.
причем если закомментировать TextArea, то компонент из памяти удаляется, несмотря на то, что там еще есть Label с забинженым свойством

kemsky
07.12.2010, 19:29
может быть поздно, но вот кое-что
http://compile4fun.wordpress.com/2010/10/28/binding/