Apache Adobe Flex TutorialTutoriaux Adobe Flex & AIR en Français

7déc/084

Flex Debug – Garbage Collector AS3 et Flash Player 9

Quand vous développez des applications Flex lourdes, il est important de vérifier la place que votre application tient en mémoire. Si votre application prend de plus en plus de place mémoire, elle sera ralentie et l'expérience utilisateur sera plus laborieuse. Ces fuites de mémoire sont appelées "Memory Leaks".

Pour voir quelle place votre application Flex tient dans la mémoire, vous pouvez simplement ouvrir le Gestionnaire de tâches (Task Manager) sous Windows et  dans la partie processus, vous pourrez voir quelle place prend votre navigateur (iexplore.exe pour Internet Explorer et firefox.exe pour Firefox).

Au fur et à mesure que vous allez utiliser votre application,  cette mémoire va grossir puisque vous allez allouer de nouveaux blocs mémoire pour vos objets. Mais alors, comment faire baisser cette allocation de mémoire? Et bien il suffit de libérer la mémoire allouée pour des objets qui ne sont plus utilisés. Par exemple, dans votre application Flex, vous ajoutez une ComboBox puis vous la supprimez, elle n'a plus de raison de rester dans la mémoire. C'est là qu'intervient le Garbage Collector AS3.

Le Garbage Collector (GC) parcourt votre application à intervalles non réguliers (et non prévisibles) à la recherche de variables en mémoire qui ne sont plus référencées par votre application. Si elle n'a plus de référence, elle va être supprimée de la mémoire par le Garbage Collector.

Pour stabiliser la charge de votre application en mémoire, il faut bien comprendre comment fonctionne le Garbage Collector. Une fois que vous aurez compris ces mécanismes, vous pourrez aussi utiliser le Flex Profiler pour allez plus loin et chasser ces fuites mémoire de manières plus efficace.