Junior — Middle
Proč je důležité v některých případech ručně spravovat uvolnění paměti?
sobes.tech AI
Odpověď od AI
V jazyce C# se obvykle používá sběrač odpadků (Garbage Collector), který automaticky uvolňuje nepoužívanou paměť. Nicméně v některých případech je důležité spravovat uvolnění paměti ručně:
- Když objekt používá neinicializované zdroje (soubory, síťová spojení, deskriptory), které nejsou řízeny sběračem odpadků.
- Pro včasné uvolnění zdrojů a zabránění únikům a zablokování.
K tomu se implementuje rozhraní IDisposable a metoda Dispose(), kde jsou zdroje explicitně uvolněny.
Příklad:
class FileHandler : IDisposable
{
private FileStream _fileStream;
public FileHandler(string path) {
_fileStream = new FileStream(path, FileMode.Open);
}
public void Dispose() {
_fileStream?.Dispose();
}
}
Tímto je ruční správa uvolnění paměti důležitá pro kontrolu zdrojů a prevenci problémů s výkonem a stabilitou aplikace.