Junior — Middle
Pourquoi est-il important de gérer manuellement la libération de mémoire dans certains cas?
sobes.tech IA
Réponse de l'IA
En C# , on utilise généralement le ramasse-miettes (Garbage Collector), qui libère automatiquement la mémoire inutilisée. Cependant, dans certains cas, il est important de gérer manuellement la libération de mémoire :
- Lorsqu'un objet utilise des ressources non managées (fichiers, connexions réseau, descripteurs) qui ne sont pas contrôlées par le ramasse-miettes.
- Pour libérer les ressources en temps voulu afin d'éviter les fuites et les blocages.
Pour cela, on implémente l'interface IDisposable et la méthode Dispose(), où les ressources sont libérées explicitement.
Exemple :
class FileHandler : IDisposable
{
private FileStream _fileStream;
public FileHandler(string path) {
_fileStream = new FileStream(path, FileMode.Open);
}
public void Dispose() {
_fileStream?.Dispose();
}
}
Ainsi, la gestion manuelle de la libération de mémoire est importante pour contrôler les ressources et prévenir les problèmes de performance et de stabilité de l'application.