Sobes.tech
Junior — Middle

Kas kasutab iOS automaatset mälu puhastamist ressursside haldamiseks?

sobes.tech AI

Vastus AI-lt

iOS ei kasuta automaatset mälu puhastamist klassikalises mõttes, nagu näiteks JavaScripti või Java prügikorjaja. Selle asemel kasutab iOS mälu haldamise süsteemi nimega ARC (Automatic Reference Counting).

ARC jälgib automaatselt viidete arvu objektidele ja vabastab mälu, kui objekt enam ei kasutata. Arendaja ei kirjuta koodi mälu käsitsi vabastamiseks, kuid peab jälgima viidete õiget haldamist, et vältida tsüklilisi sõltuvusi, mis võivad põhjustada mälu lekked.

ARC kasutamise näide:

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

var person1: Person? = Person(name: "Иван")
var person2 = person1  // viidete arv suureneb
person1 = nil         // arv väheneb, objekt on endiselt olemas
person2 = nil         // arv jõuab 0-ni, objekt vabastatakse

Nii haldab iOS mälu automaatselt, tuginedes viidete arvule, mitte prügikorjamisele.