Esecuzione immediata di una procedura di Garbage Collection

La classe GC (Garbage Collection) fornisce il metodo GC.Collect, che può essere utilizzato per aggiungere all'applicazione una forma di controllo diretto sul Garbage Collector. In generale, è preferibile non chiamare alcun metodo di Garbage Collection e lasciare che Garbage Collector agisca in modo indipendente. Nella maggior parte dei casi Garbage Collector individua il momento migliore per effettuare la procedura di collection. In alcuni casi meno comuni è tuttavia possibile che l'esecuzione di una collection forzata migliori le prestazioni di un'applicazione. L'uso del metodo GC.Collect può essere indicato nei casi in cui, in un determinato punto del codice della propria applicazione, si verifica una significativa riduzione della quantità di memoria utilizzata. È ad esempio possibile che un'applicazione utilizzi un documento che fa riferimento a un considerevole numero di risorse non gestite. Quando l'applicazione chiude il documento, è certo che le risorse da esso utilizzate non saranno più necessarie. Ai fini delle prestazioni, può essere opportuno rilasciarle tutte insieme. Per ulteriori informazioni, vedere il metodo GC.Collect.

Prima di eseguire una procedura di Garbage Collection, Garbage Collector sospende tutti i thread in esecuzione. Tale funzionamento comporta una riduzione delle prestazioni che può diventare problematica se si chiama GC.Collect più spesso del necessario. È inoltre opportuno non inserire codice che chiama GC.Collect in quei punti del programma a cui l'utente accede frequentemente. Tale pratica potrebbe infatti impedire al motore di ottimizzazione di determinare il momento migliore in cui eseguire una procedura di Garbage Collection.

Vedere anche

Programmazione coerente con la procedura di Garbage Collection | Classe GC