Garbage collection forcé
La classe GC du garbage collection fournit la méthode GC.Collect que vous pouvez utiliser pour permettre à votre application d'assurer un certain contrôle direct sur le garbage collector. En général, vous devez éviter d'appeler les méthodes collect et vous devez permettre au garbage collector de s'exécuter de façon indépendante. Dans la plupart des cas, le garbage collector détermine le meilleur moment pour effectuer un garbage collection. Dans de rares cas, un garbage collection forcé peut toutefois améliorer les performances de votre application. Il peut s'avérer utile d'utiliser une méthode GC.Collect en cas de réduction importante de la quantité de mémoire en cours d'utilisation à un point donné du code de votre application. Par exemple, une application peut utiliser un document qui référence un nombre important de ressources non managées. Lorsque votre application ferme le document, vous savez pertinemment que les ressources que le document a utilisées ne sont plus nécessaires. Pour des raisons de performances, il est logique de les libérer toutes en même temps. Pour plus d'informations, consultez la méthode GC.Collect.
Avant d'effectuer un garbage collection, le garbage collector suspend l'exécution de tous les threads en cours. Des problèmes de performances peuvent apparaître si vous appelez GC.Collect trop souvent. Vous devez également veiller à ne pas placer de code appelant GC.Collect à un point de votre programme où les utilisateurs pourraient l'appeler fréquemment. Cela pourrait nuire au moteur d'optimisation du garbage collector qui détermine le meilleur moment pour exécuter un garbage collection.