Sobes.tech
Junior — Middle

Milyen módszereket alkalmaz a memória szivárgások felismerésére a projektjeiben?

sobes.tech MI

Válasz az MI-től

Az iOS projektekben memória szivárgások felismerésére általában a következő módszereket használom:

  • Az Instruments eszköz (különösen a Leaks és Allocations) használata a memóriahasználat figyelésére és a szivárgások azonosítására.
  • A Xcode Memory Graph Debugger segítségével erős referenciaciklusok (retain cycles) elemzése.
  • A gyenge (weak) és tulajdon nélküli (unowned) referenciák helyes használatának ellenőrzése zárványokban és delegáltakban.

Példa: ha az A objektum tartja B-t, és B egy zárványban tartja A-t weak nélkül, akkor egy retention ciklus alakul ki, és a memória nem szabadul fel.

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

Itt a [weak self] használata megakadályozza a szivárgást.