Hi Ralph,

I know this thread is slightly old, but I have been debugging some 
garbage collection issues in an app I'm working on right now.  I 
noticed you said the following when responding to Bjorn:

"You'll have to remove all references to a specfic object to 
actually have it removed. We've run into some problems with this; 
this was related to states, though, and this is also something which 
is by design."

Right now I'm noticing some jumps in memory consumption when 
switching between one view state of a component and another.  Do you 
mind giving a quick tip on what you discovered about garbage 
collection and states in your debugging?

Thanks,
Jun

--- In [email protected], "Ralph Hauwert" <[EMAIL PROTECTED]> 
wrote:
>
> removeChildAt() will only remove the specified object from the 
displaylist,
> it won't destroy the object. Flex, by design keeps references to 
objects in
> containers. You'll have to remove all references to a specfic 
object to
> actually have it removed. We've run into some problems with this; 
this was
> related to states, though, and this is also something which is by 
design.
> 
> On 11/23/06, bjorn.schultheiss <[EMAIL PROTECTED]> wrote:
> >
> >   Hi,
> >
> > How come after calling removeChildAt(selectedIndex) within a 
viewstack
> > the child object still remains?
> >
> > I've run basic tests to try get this working but no win.
> >
> > I have a ViewStack based on this;
> > import mx.containers.ViewStack;
> > public class ExtVS extends ViewStack
> > {
> > // my new selectedIndex()
> > public function set updateSelectedIndex(index:Number):void
> > {
> > this.createComponentFromDescriptor(this.childDescriptors
[index],false);
> > this.validateNow();
> > if (index > 0)
> > removeChildAt(selectedIndex);
> > }
> > }
> >
> > And i've set it's creationPolicy="none".
> >
> > I have 3 children. When i start the app in the debugger my 
children
> > look like this in the variables panel;
> > c1 = "childs.MyPanel"
> > c2 = null
> > c3 = null
> >
> > By the time a proceed through each stack my debugger variables 
say;
> > c1 = "childs.MyPanel"
> > c2 = "childs.MyBox"
> > c3 = "childs.MyCanvas"
> >
> > shouldn't it be
> > c1 = null
> > c2 = null
> > c3 = "childs.MyCanvas"
> >
> > Also i am tracking totalMemory usage and i am receiving no 
benefits
> > compared to when i was not using removeChild()
> >
> > Thanks,
> > Bjorn
> >
> >  
> >
> 
> 
> 
> -- 
> Ralph Hauwert
> FlashCoder
>


Reply via email to