Hi Jun (?),

Currently involved in another harsh deadline, so I'll get back too you soon
as possible, with a longer explanation, or probably a blog post.

Ralph.



On 12/4/06, coderjun <[EMAIL PROTECTED]> wrote:

  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] <flexcoders%40yahoogroups.com>, "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
>




--
Ralph Hauwert
FlashCoder

Reply via email to