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.