amoniaque
Messages postés20Date d'inscriptionvendredi 23 novembre 2007StatutMembreDernière intervention 7 avril 2009
-
6 avril 2009 à 18:27
amoniaque
Messages postés20Date d'inscriptionvendredi 23 novembre 2007StatutMembreDernière intervention 7 avril 2009
-
7 avril 2009 à 09:37
Bonjour,
Je suis sur une application dans laquelle je créé et utilise des tâches.
Lors de leur création, la mémoire vive utilisée augmente de 12Mo.
Une fois que celles-ci ne sont plus utiles j'utilise "dispose" pour
libérer la mémoire mais ça ne se voit pas sur le gestionnaire des
tâches( la mémoire vive reste au même niveau).
Est ce que cela peut venir du GarbageCollector ou alors c'est moi qui fais mal les choses ?!
Cordialement,
Julien
A voir également:
Comment vérifier si le GarbageCollector fonctionne
cs_Willi
Messages postés2375Date d'inscriptionjeudi 12 juillet 2001StatutModérateurDernière intervention15 décembre 201822 6 avril 2009 à 19:10
Bonjour,
Non non le GC fonctionne et tu fais bien les choses.
Pour rappel le Garbage Collector est un système utilisé par le CLR pour gérer les ressources allouées. Donc celui-ci libère les ressources de tes objets lorsqu'ils ne sont plus utilisés par ton appli mais il n'est pas possible à ma connaissance de déterminer quand le CLR appelera le GC pour faire le ménage (algo non déterministe).
Pour aller plus loin:
http://msdn.microsoft.com/fr-fr/library/0xy59wtx.aspx http://msdn.microsoft.com/fr-fr/library/hks5e2k6(VS.80).aspx
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 6 avril 2009 à 19:25
Le GC libère les ressources qui ne sont plus utiliser, mais pas immédiatement. Lui seul decide de quand il le fait. Cela peut prendre parfois plusieurs minutes. C'est en fonction des besoins de tout le système et du temps qu'il lui est laissé pour le faire. Sachant que, dans la mesure du possible, c'est le fonctionnement de l'appli qui est privilégié, liberer des ressources peut prendre beaucoup de ressources.
Il est possible de faire libérer les ressources en attente en appelalnt la methode Collect du GC, je crois, mais c'est déconseiller de le faire. Laisse le GC faire son boulot tout seul comme un grand.