Hi,
i agree, but it is only true, as long as there is a reference to the inline
function.
The text seems to suggest that although the reference to the inline function
is gone, it still stays on memory.

greetz
JC


On 10/24/06, Alias™ <[EMAIL PROTECTED]> wrote:

I think the issue is that due to the use of inner functions, the
parameters
stay in memory, including the execution scope object.

"The scope object as well as the extra parameters might have been deleted
from the Delegate function object, but they still remain inside the inline
function.

Excuse me?
Yes, this is true. Every single inline function created inside the
Delegate.create() method stays on memory."

HTH,
Alias



On 24/10/06, Hans Wichman <[EMAIL PROTECTED]> wrote:
>
> Hi,
> exactly "The garbage collector will not remove references to delegates
> that
> are still being used".
> Doesnt that mean that if you already nicely set your delegates to null,
> you
> are done?
>
> Example:
> obj.ref = Delegate.create (otherObj, otherFunc);
>
> As long as obj.ref is in memory, otherObj and otherFunc will be too.
> Now if I do obj.ref = null, the delegate can be removed, as will the
> otherObj and otherFunc.
> Since obj.ref pointed to the inner function, which held a reference to
the
> activation object containing otherObj and otherFunc, they couldnt be
> removed
> before, but after nulling the ref, they can?
>
> I did some other tests, to check if eg
> function init() {
>     var myVar = 10;
>     obj.ref = Delegate.create ()...
> }
>
> would cause myVar to be kept as well (as it would have been when you'd
> done
> obj.ref = function() {...}), but that was not the case.
>
> It seems to me the biggest pitfall would be code in which you'd go:
>
> function init(clip:MovieClip) {
>       //1:setup handlers here
>       //2:declare some variables here
>       //etc etc
>
>      clip.onEnterFrame = function () {
>        //code goes here
>     }
> }
>
> without relealizing, that becoz of the function assignment to clip,
> everything you have done under //1 and //2 is still in memory, and that
> you
> should be aware of this. I don't see how lots and lots of delegates,
whose
> references are *appropriately released *will cause the problems
described?
>
> greetz
> JC
>
>
>
>
>
> On 10/24/06, Alias™ <[EMAIL PROTECTED]> wrote:
> >
> > The garbage collector will not remove references to delegates that are
> > still
> > being used - only ones that are no longer being referenced by anything
> > else.
> > It uses reference counting, so this will not cause any wierd
> >
> > That's a great article - although I now have to go through all my code
> and
> > figure out where I need to call Delegate.destroy()... I have a VJing
app
> > which gets more and more unreliable the longer it runs and I bet this
is
> > why.
> >
> > HTH,
> > Alias
> >
> >
> >
> > On 24/10/06, Hans Wichman <[EMAIL PROTECTED] > wrote:
> > >
> > > Hi Dimitrios,
> > >
> > > i was reading your article and the referenced article in which it
> says:
> > >
> > > Once the inner function is removed from memory (for instance if the
> > object
> > > to which the inner function was attached is removed), then the
unique
> > > reference to the activation object also gets deleted and the garbage
> > > collector will (should) delete both the inner function and the
> > activation
> > > object of the outer function at the same time.
> > >
> > > Now the inner function is what is returned when you use
> Delegate.create.
> > > It
> > > seems to me mostly when using a Delegate, you want it to have those
> > > references until you dont need the delegate itself anymore. So
setting
> > the
> > > reference to the inner function to null, should take care of the
rest?
> > I'm
> > > probably missing something here.
> > >
> > > greetz
> > > JC
> > >
> > > On 10/16/06, Dimitrios Bendilas <[EMAIL PROTECTED]> wrote:
> > > >
> > > > Hello everyone,
> > > >
> > > > I had a really big issue recently, when I realized that the
> > performance
> > > of
> > > > a large-scale game
> > > > I built in Flash dropping substantially after 1/2 hour of
gameplay,
> to
> > > the
> > > > point where
> > > > the game became waaaay too slow to play.
> > > >
> > > > After exhausting tests I found out that this was caused by the
> > extended
> > > > use of Delegates
> > > > with parameters (I always make sure I don't leave garbage sitting
> > around
> > > > when I destroy
> > > > objects of all of my classes, so that was not the issue).
> > > >
> > > > Spending one week on this, I managed to spot the problem and find
a
> > > > solution,
> > > > writing a new Delegate class that was taking care of cleaning up
> > > function
> > > > objects.
> > > >
> > > > I thought this would interest quite a few people, so I wrote an
> > article
> > > on
> > > > this. You can
> > > > read at www.zefxis.gr/article-delegates. You can also download the
> > > > Delegate class
> > > > I wrote and use it for you projects.
> > > >
> > > > I would appreciate any comments on this!
> > > >
> > > > Thanks,
> > > >
> > > > Dimtirios
> > > >
> > > >
> > > >
> > > > _______________________________________________
> > > > [email protected]
> > > > To change your subscription options or search the archive:
> > > > http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
> > > >
> > > > Brought to you by Fig Leaf Software
> > > > Premier Authorized Adobe Consulting and Training
> > > > http://www.figleaf.com
> > > > http://training.figleaf.com
> > > >
> > > _______________________________________________
> > > [email protected]
> > > To change your subscription options or search the archive:
> > > http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
> > >
> > > Brought to you by Fig Leaf Software
> > > Premier Authorized Adobe Consulting and Training
> > > http://www.figleaf.com
> > > http://training.figleaf.com
> > >
> > _______________________________________________
> > [email protected]
> > To change your subscription options or search the archive:
> > http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
> >
> > Brought to you by Fig Leaf Software
> > Premier Authorized Adobe Consulting and Training
> > http://www.figleaf.com
> > http://training.figleaf.com
> >
> _______________________________________________
> [email protected]
> To change your subscription options or search the archive:
> http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
>
> Brought to you by Fig Leaf Software
> Premier Authorized Adobe Consulting and Training
> http://www.figleaf.com
> http://training.figleaf.com
>
_______________________________________________
[email protected]
To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

Brought to you by Fig Leaf Software
Premier Authorized Adobe Consulting and Training
http://www.figleaf.com
http://training.figleaf.com

_______________________________________________
[email protected]
To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

Brought to you by Fig Leaf Software
Premier Authorized Adobe Consulting and Training
http://www.figleaf.com
http://training.figleaf.com

Reply via email to