Sobes.tech
Junior — Middle

Da li iOS koristi automatsko čišćenje memorije za upravljanje resursima?

sobes.tech АИ

Одговор од АИ

iOS ne koristi automatsko čišćenje memorije u klasičnom smislu, kao što je sakupljač smeća u JavaScript-u ili Java-i. Umesto toga, iOS koristi sistem upravljanja memorijom pod nazivom ARC (Automatic Reference Counting).

ARC automatski prati broj referenci na objekte i oslobađa memoriju kada objekat više nije u upotrebi. Programer ne piše kod za ručno oslobađanje memorije, ali mora nadgledati pravilno upravljanje referencama kako bi izbegao cikličke zavisnosti koje mogu dovesti do curenja memorije.

Primer korišćenja ARC:

class Person {
    var name: String
    init(name: String) {
        self.name = name
    }
}

var person1: Person? = Person(name: "Иван")
var person2 = person1  // broj referenci se povećava
person1 = nil         // broj referenci se smanjuje, objekat i dalje postoji
person2 = nil         // broj referenci postaje 0, objekat se oslobađa

Na ovaj način, iOS automatski upravlja memorijom, zasnovano na broju referenci, a ne na sakupljanju smeća.