"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Quando é aceitável ligar para GC.Collect ()?

Quando é aceitável ligar para GC.Collect ()?

Postado em 2025-03-23
Navegar:372

When is it Acceptable to Call GC.Collect()?

hora de usar gc.collect com cautela

Embora geralmente não seja recomendado chamar gc.collect () diretamente, em alguns casos específicos, isso é razoável. Por exemplo, quando um serviço é executado de maneira circular e fica ocioso por muito tempo após a execução de uma tarefa, é possível otimizar a utilização de recursos quando for forçado a coleta de lixo durante a fase inativa para liberar a memória ocupada pelo processo que está prestes a falhar.

Outra situação aceitável é depois de fechar um formulário grande em um aplicativo da GUI. Como todos os controles da interface do usuário atendem à coleta de lixo no momento, e a queda de desempenho curto durante os usuários de fechamento de formulários pode não notar, é razoável iniciar a coleção GC.

Além disso, as seguintes situações também podem exigir consideração de chamadas gc.collect () :

  • Quando você tem evidências sólidas de que um grande número de objetos (especialmente objetos de geração 1 e gen 2) está pronto para a coleta de lixo e que o impacto do desempenho é mínimo.
  • começando no .net 4.5, ao entrar ou sair gclatencymode.lowlatind ou gclatencymode.sustaillatência é recomendado para aplicar o GC Fulling SustothLatência .
  • Usando .NET 4.6, você pode usar o método gc.TrystartNogCregion para desativar o GC por um período de tempo. Recomenda -se acionar manualmente o GC completo antes e depois desse período.

Essas exceções enfatizam a importância da cautela ao chamar gc.collect () . É importante avaliar o ambiente específico e o impacto potencial do desempenho antes de tomar essa decisão.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3