Junior — Middle
Jaké metody používáte k odhalení úniků paměti ve svých projektech?
sobes.tech AI
Odpověď od AI
Pro detekci memory leaků v iOS projektech obvykle používám následující metody:
- Použití nástroje Instruments (zejména Leaks a Allocations) k monitorování využití paměti a identifikaci úniků.
- Analýza silných referenčních cyklů (retain cycles) pomocí debuggeru grafu paměti v Xcode.
- Kontrola správného používání slabých (weak) a bezvlastnických (unowned) odkazů v uzávěrkách a delegátech.
Příklad: pokud objekt A drží objekt B, a B v uzávěrce drží A bez weak, vzniká cyklus udržování a paměť se neuvolní.
class ViewController {
var closure: (() -> Void)?
func setup() {
closure = { [weak self] in
print(self?.description ?? "No self")
}
}
}
Zde použití [weak self] zabraňuje úniku.