Sobes.tech
Junior — Middle

Que métodos você usa para detectar vazamentos de memória nos seus projetos?

sobes.tech IA

Resposta da IA

Para detectar fugas de memória em projetos iOS, geralmente uso os seguintes métodos:

  • Uso da ferramenta Instruments (especialmente Leaks e Allocations) para monitorar o uso de memória e identificar fugas.
  • Análise de ciclos de referências fortes (retain cycles) com o depurador de gráfico de memória do Xcode.
  • Verificação do uso correto de referências fracas (weak) e sem proprietário (unowned) em closures e delegados.

Exemplo: se o objeto A mantém o objeto B, e B em uma closure mantém A sem weak, ocorre um ciclo de retenção, e a memória não é liberada.

class ViewController {
    var closure: (() -> Void)?
    func setup() {
        closure = { [weak self] in
            print(self?.description ?? "No self")
        }
    }
}

Aqui, o uso de [weak self] previne vazamentos.