Maison >développement back-end >C++ >Quand devriez-vous utiliser GC.Collect () dans .NET?

Quand devriez-vous utiliser GC.Collect () dans .NET?

Susan Sarandon
Susan Sarandonoriginal
2025-01-24 17:31:12709parcourir

When Should You Use GC.Collect() in .NET?

Quand utiliser gc.collect () dans .net?

Il est généralement recommandé d'éviter d'appeler directement , mais dans certains cas. Comprendre ces exceptions peut aider à optimiser les performances dans des scénarios spécifiques.

GC.Collect() Scénarios d'utilisation acceptables:

GC.Collect() Service de dortoir: Si le service est éveillé par intermittence pour effectuer la tâche, puis saisir l'état de sommeil à long terme, il peut être avantageux de commencer le recyclage des ordures. Cela peut empêcher la mémoire inutile des processus de non-activité.

    Le nettoyage des ressources après la fermeture de la grande fenêtre:
  • Lorsque la grande fenêtre est fermée, de nombreux commandes d'interface utilisateur deviendront des ordures recyclables. Force et effectuer immédiatement le recyclage des ordures permettra au .NET Framework de recycler ces objets, afin d'empêcher les utilisateurs de prêter attention à une suspension de performance évidente.
  • .net 4.5 et autres plus de précautions:
  • Dans .NET 4.5 et des versions supérieures, d'autres scènes apparaîtront:

et :

Lors de la saisie ou de la sortie de ces modes, il est recommandé d'utiliser

pour appliquer une récupération complète des ordures.

  • : Cette méthode peut provoquer une récupération des ordures obstructive complètement pour libérer la mémoire. Pour assurer la stabilité, envisagez d'effectuer une récupération complètement des ordures avant et après. GCLatencyMode.LowLatency GCLatencyMode.SustainedLowLatency Référence et lecture plus approfondie: GC.Collect(2, GCCollectionMode.Forced)
  • "Écriture du code .NET haute performance, 2e édition, 2018" GC.TryStartNoGCRegion Auteur: Microsoft Engineer Ben Watson.
  • msdn: system.runtime.glanetcymode

MSDN: GC.TRYSTARTNOGCREGION Méthode

    Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

    Déclaration:
    Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn