Hello :) Je viens de rentrer et je tombe sur ton post ;) Voilà un truc intéressant c'est clair ;)
EKA+ :) 2008/10/6 zwetan <[EMAIL PROTECTED]> > > oui des fois j utilise FCNG comme un scratch book > > donc liens interessants a propos de la memoire et quelques notes > car tout le monde a pas forcement le meme avis ou point de vue > > AS3: Resource Management pt 1 > http://www.gskinner.com/blog/archives/2006/06/as3_resource_ma.html > > AS3: Resource Management pt 3 > http://www.gskinner.com/blog/archives/2006/08/as3_resource_ma_2.html > > Garbage Collector Interactive Simulator > http://www.gskinner.com/blog/archives/2006/09/garbage_collect.html > > Failure to Unload: Flash Player 9's Dirty Secret > http://www.gskinner.com/blog/archives/2008/04/failure_to_unlo.html > > Flex Performance, Memory Management, & Object Caching > http://www.insideria.com/2008/03/flex-performance-memory-manage.html > > Garbage collector in Flash Player 9/Actionscript 3 > http://blog.comtaste.com/2008/04/garbage_collector_in_flash_pla.html > > Flash Player Memory Management and Garbage Collection redux. > > http://blog.flexmonkeypatches.com/2007/03/28/flash-player-memory-management-and-garbage-collection-redux-2/ > > Garbage Collection and Memory Leaks > http://blogs.adobe.com/aharui/2007/03/garbage_collection_and_memory.html > (downloader le ppt ca explique tout bien > http://blogs.adobe.com/aharui/GarbageCollection/GCAtomic.ppt) > > Kick starting the garbage collector in Actionscript 3 with AIR > > http://www.craftymind.com/2008/04/09/kick-starting-the-garbage-collector-in-actionscript-3-with-air/ > > Flash Player Mental Model - The Elastic Racetrack > http://www.onflex.org/ted/2005/07/flash-player-mental-model-elastic.php > > > a retenir: les 3 derniers links > > ce que j'ai pu verifier c'est que le Elastic RaceTrack influe > directement sur ce que la GC peut virer ou pas > > en gros, 2 choses importantes cohabitent en memoire > - Object Memory > le code AS3 dans le bytecode > - Render Memory > le rendu gfx DisplayObject etc. a l'ecran > > le 1er (Object Memory) peut se virer plus ou moins facilement de la > memoire > a condition de ne pas creer de memory leaks > - si addEventListener utiliser removeEventListener > - dans certains cas utiliser des events en weak reference (mais pas > forcement par defaut partout) > - utiliser les Dictionary aussi en weak reference > - un simple Object utiliser comme un hash peut aussi creer des memory > leaks > - etc. > (voir GCAtomic.ppt ou tout est explique en detail) > > pour Flex en cas particulier > - faire gaffe de ne pas initialiser depuis un Module un Manager, genre > le PopUpManager > - si vous utilisez des mx:Style tag partout et bah vous les virer et > utiliser des CSS externe compilees > sinon ca vous fera ca http://bugs.adobe.com/jira/browse/SDK-15621 > et plein de memory leaks partout > - etc. > > le 2nd (Render Memory) est vachement plus chiant a virer de la > memoire, > si vous etes vraiment force il faut jouer sur le passage d'uen frame a > l'autre > (voir "Kick starting the garbage collector in Actionscript 3 with > AIR") > et en fait double kicker la GC, un coup pour le mark et un autre coup > pour le sweep, > et forcement comme System.GC() n'est dispo que dans le debug player et > bah oui > il faudra utiliser le hack de LocalConnection appeler 2 fois, donc > avec un player non-debug > ca vous donnera a peu pres ca: > > private function _forceMarkSweep():void > { > try > { > new LocalConnection().connect( "foobar" ); > new LocalConnection().connect( "foobar" ); > } > catch( e:* ) > { > > } > } > > - frame 1 > _forceMarkSweep() > - frame 2 > - frame 3 > _forceMarkSweep() > > > et encore meme en faisant ca il peut y avoir des cas ou le player > liberera la memoire quand il veut, bref rien de garantie a 100% > > idealement: attendre le FP10 > > techniquement avec juste FP9, oui c'est possible, mais tres tres tres > dure > surtotu si vous utilisez de mxml, si vous gerer tout en AS3 plus > facile > > zwetan > > > > > > --~--~---------~--~----~------------~-------~--~----~ Vous avez reçu ce message, car vous êtes abonné au groupe Groupe "FCNG" de Google Groupes. Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse [email protected] Pour résilier votre abonnement à ce groupe, envoyez un e-mail à l'adresse [EMAIL PROTECTED] Pour afficher d'autres options, visitez ce groupe à l'adresse http://groups.google.com/group/FCNG?hl=fr -~----------~----~----~----~------~----~------~--~---
