ExpertiDict

C# · Intermediário · Inglês · Técnico

garbage collector

/ˈɡɑrbɪdʒ kəˈlɛktɚ/substantivo

Componente do CLR que libera automaticamente a memória de objetos inalcançáveis no heap gerenciado, organizado em gerações (0, 1 e 2) para tornar as coletas mais rápidas.

Onde usar

Aparece ao investigar picos de latência ou uso de memória alto. Reduzir alocações em caminhos quentes diminui as coletas, e ele não cuida de recursos como conexões e arquivos, que exigem Dispose.

Em código

var o = new object();
Console.WriteLine(GC.GetGeneration(o)); // 0
GC.Collect();
Console.WriteLine(GC.GetGeneration(o)); // 1
GC.KeepAlive(o);

Exemplos

The garbage collector is pausing the app too often.

O garbage collector está pausando o app com frequência demais.

Fewer allocations means less work for the garbage collector.

Menos alocações significam menos trabalho para o garbage collector.

Cuidado

Não chame GC.Collect() por conta própria para 'ajudar': isso costuma piorar o desempenho e atrapalhar o ajuste automático do GC.

Sinônimos

GC, coletor de lixo

Veja também

Todos os termos de C#