Junior — Middle
Layihələrinizdə yaddaş sızıntılarını aşkar etmək üçün hansı metodlardan istifadə edirsiniz?
sobes.tech Süni İntellekt
AI-dan cavab
iOS layihələrində yaddaş sızıntılarını aşkar etmək üçün adətən aşağıdakı metodlardan istifadə edirəm:
- Instruments alətindən (xüsusən Leaks və Allocations) istifadə edərək yaddaş istifadəsini izləmək və sızıntıları aşkar etmək.
- Xcode Memory Graph Debugger ilə güclü referans döngələrini (retain cycles) analiz etmək.
- Closure və delegatlar içində zəif (weak) və mülkiyyətsiz (unowned) referansların düzgün istifadəsini yoxlamaq.
Misal: əgər obyekt A obyekt B-ni saxlayırsa və B, closure içində A-ya weak olmadan saxlayırsa, retain cycle yaranır və yaddaş sərbəst buraxılmır.
class ViewController {
var closure: (() -> Void)?
func setup() {
closure = { [weak self] in
print(self?.description ?? "No self")
}
}
}
Burada, [weak self] istifadəsi sızıntını qarşısını alır.