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();
}
}
На овај начин, ручно управљање ослобађањем меморије је важно за контролу ресурса и спречавање проблема са перформансама и стабилношћу апликације.