Sobes.tech
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.