Junior — Middle
Quels sont les types de fuites de mémoire et comment les détecter?
sobes.tech IA
Réponse de l'IA
Il existe plusieurs types de fuites de mémoire dans iOS:
- Références cycliques (cycles de rétention) : lorsque deux objets se maintiennent mutuellement par des références fortes, empêchant leur libération.
- Fuites dues à une mauvaise utilisation des délégués : si le délégué est déclaré comme référence forte, cela peut entraîner un cycle.
- Fuites dues à des ressources non libérées : par exemple, des minuteries, des observateurs de notifications qui n'ont pas été supprimés.
Pour détecter les fuites, on utilise les outils de Xcode :
- Instruments (Leaks et Allocations) — permet de suivre les objets qui ne sont pas libérés.
- Memory Graph Debugger — visualise les connexions entre objets et aide à repérer les cycles.
Exemple : si dans la classe ViewController, il y a une référence forte à un minuteur qui ne s'arrête pas et n'est pas nul, cela peut entraîner une fuite.