Sobes.tech
Junior — Middle

Zašto je važno ručno upravljati oslobađanjem memorije u nekim slučajevima?

sobes.tech АИ

Одговор од АИ

У C# се обично користи сакупљач смећа (Garbage Collector), који аутоматски ослобађа непотребну меморију. Међутим, у неким случајевима је важно ручно управљати ослобађањем меморије:

  • Када објекат користи неуправљане ресурсе (датотеке, мрежне везе, дескриптори), који нису под контролом сакупљача смећа.
  • За благовремено ослобађање ресурса и избегавање цурења и блокирања.

За то се имплементира интерфејс IDisposable и метод Dispose(), где се ресурси јасно ослобађају.

Пример:

class FileHandler : IDisposable
{
    private FileStream _fileStream;

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

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

На овај начин, ручно управљање ослобађањем меморије је важно за контролу ресурса и спречавање проблема са перформансама и стабилношћу апликације.