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.