Sobes.tech
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.