Sobes.tech
Junior — Middle

¿Cuáles son los tipos de fugas de memoria y cómo identificarlas?

sobes.tech AI

Respuesta de la IA

En iOS existen varios tipos de fugas de memoria:

  • Referencias cíclicas (retener ciclos): cuando dos objetos se mantienen mutuamente mediante referencias fuertes, lo que impide su liberación.
  • Fugas por uso incorrecto de delegados: si el delegado se declara como referencia fuerte, esto puede causar un ciclo.
  • Fugas por recursos no liberados: por ejemplo, temporizadores, observadores de notificaciones que no se eliminaron.

Para detectar fugas, se utilizan herramientas de Xcode:

  • Instruments (Leaks y Allocations) — permite rastrear objetos que no se liberan.
  • Memory Graph Debugger — visualiza las conexiones entre objetos y ayuda a encontrar ciclos.

Ejemplo: si en la clase ViewController hay una referencia fuerte a un temporizador que no se detiene ni se nulifica, esto puede causar una fuga.