Junior — Middle
Quais são os tipos de vazamentos de memória e como identificá-los?
sobes.tech IA
Resposta da IA
Existem vários tipos de fugas de memória no iOS:
- Referências cíclicas (ciclos de retenção): quando dois objetos mantêm-se mutuamente através de referências fortes, impedindo a sua libertação.
- Fugas devido ao uso incorreto de delegados: se o delegado for declarado como referência forte, pode causar um ciclo.
- Fugas devido a recursos não libertados: por exemplo, temporizadores, observadores de notificações que não foram removidos.
Para detectar fugas, usam-se ferramentas do Xcode:
- Instruments (Leaks e Allocations) — permite rastrear objetos que não são libertados.
- Memory Graph Debugger — visualiza as ligações entre objetos e ajuda a encontrar ciclos.
Exemplo: se na classe ViewController há uma referência forte a um temporizador que não é parado nem nulificado, isso pode levar a uma fuga.