Sobes.tech
Junior — Middle

Waarom is het belangrijk om het vrijmaken van geheugen in sommige gevallen handmatig te beheren?

sobes.tech AI

Antwoord van AI

In C# wordt meestal de Garbage Collector gebruikt, die automatisch niet-gebruikte geheugen vrijmaakt. Echter, in sommige gevallen is het belangrijk om het vrijmaken van geheugen handmatig te beheren:

  • Wanneer een object niet-beheerde bronnen gebruikt (bestanden, netwerkverbindingen, descriptors) die niet door de garbage collector worden gecontroleerd.
  • Om bronnen tijdig vrij te maken en lekken en blokkades te voorkomen.

Hiervoor wordt de interface IDisposable geïmplementeerd en de methode Dispose(), waarin de bronnen expliciet worden vrijgegeven.

Voorbeeld:

class FileHandler : IDisposable
{
    private FileStream _fileStream;

    public FileHandler(string path) {
        _fileStream = new FileStream(path, FileMode.Open);
    }

    public void Dispose() {
        _fileStream?.Dispose();
    }
}

Op deze manier is het handmatig beheren van het vrijmaken van geheugen belangrijk om bronnen te controleren en problemen met prestaties en stabiliteit van de applicatie te voorkomen.