Thanx fort he answer, it was very helpful.

The main thing was that in C++ you don't have a GC, now that I know Flash
has one, the rest is just fine :-)

I now realised what crap I wrote on that "push(z)"-line... gosh!!!
Even in C++ I would have got an error by the compiler!

Thnx a lot!

-----Ursprüngliche Nachricht-----
Von: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] Im Auftrag von Jeremy
Sachs
Gesendet: Freitag, 18. Mai 2007 02:06
An: [email protected]
Betreff: Re: AW: [Flashcoders] - Array memory performance

Hmm... what do you mean here by configurator, Cryzto?

> Well my plan was to fill up the array with object's-name that are  
> visible in
> the configurator (active ones)...

Remember that some objects have name as a property- it's a String. If  
by "name" you mean the "name" of the reference you're using when  
you're referring to an object, then you mean the "definition".

See, every data type in Flash is an object, and the variables you're  
creating are all just references to the objects. By assigning a new  
Array object to my_array, you're automatically deleting the reference  
to the old Array (so the line where you delete my_array isn't  
actually necessary). If that was the only reference to it, it'll be  
cleaned up by the GC.

I believe that Arrays and other simple data types are deallocated  
almost immediately. More complicated objects tend to take a little  
longer. There's a lot of info out there regarding the GC, but what it  
comes down to is, you never know exactly when the GC will run, or  
whether it'll remove all your garbage. It's a leap of faith. But you  
can help the GC operate faster by removing all the references to the  
objects you want to delete. For instance, if you write:

var a:Array = new Array();
var b:Array = a, c:Array = b, d:Array = c;

...then you've got four references to the same Array object. That  
Array won't be deallocated until each reference is deleted or set to  
equal null.


> Sorry, but I don't know which assignement you exactly refer to, do  
> you mean
> " my_array.push(z)=z; "?

Yes, push() is a method of Array objects that takes a value passed to  
it and adds an element with that value to the very end of the array.  
You don't need the "=z", which, well, doesn't make much sense in the  
first place. :D

I hope that helps. Regards,

Rezmason
_______________________________________________
[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


-- 
No virus found in this incoming message.
Checked by AVG Free Edition. 
Version: 7.5.467 / Virus Database: 269.7.3/809 - Release Date: 17.05.2007
17:18


-- 
Ich verwende die kostenlose Version von SPAMfighter für private Anwender,
die bei mir bis jetzt 845 Spammails entfernt hat.
Bezahlende Anwender haben diesen Hinweis nicht in ihren E-Mails.
Laden Sie SPAMfighter kostenlos herunter: http://www.spamfighter.com/lde

_______________________________________________
[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