Junior — Middle
¿Has tenido experiencia en la búsqueda y eliminación de fugas de memoria o recursos en tus proyectos?
sobes.tech AI
Respuesta de la IA
Sí, en proyectos de iOS he enfrentado fugas de memoria, generalmente relacionadas con referencias cíclicas entre objetos, por ejemplo, entre cierres y clases. Para detectar estas fugas, utilicé las herramientas Instruments de Xcode con los perfiles Leaks y Allocations.
Corrigí las fugas aplicando referencias débiles (weak) o sin propietario (unowned) donde fue necesario para romper los ciclos de retención. También verifiqué la correcta liberación de recursos y la desinscripción a notificaciones.
Ejemplo de referencia débil en un cierre:
class ViewController: UIViewController {
var closure: (() -> Void)?
func setupClosure() {
closure = { [weak self] in
guard let self = self else { return }
print(self.view)
}
}
}