Junior — Middle
Kaip automatinė atminties valdymo sistema ARC stebi ir valdo nuorodas į objektus?
sobes.tech AI
Atsakymas iš AI
ARC (Automatinis nuorodų skaičiavimas) yra atminties valdymo sistema iOS, kuri automatiškai stebi nuorodų skaičių į objektus.
Veikimo principas:
- Kiekvienas objektas turi nuorodų skaitiklį.
- Kai sukuriama nauja stipri nuoroda į objektą, skaitiklis didėja.
- Kai nuoroda pašalinama arba tampa nil, skaitiklis mažėja.
- Jei skaitiklis pasiekia nulį, objektas automatiškai išlaisvinamas iš atminties.
ARC analizuoja kodą kompilacijos metu ir įterpia retain/release iškvietimus, kad valdytų objektų gyvavimo ciklą be rankinio atminties valdymo.
Svarbu išvengti ciklinių nuorodų (retain cycles), kai du objektai vienas kitą nuorodo stipriomis nuorodomis, kas trukdo atlaisvinti atmintį. Tam naudojamos silpnos (weak) arba be savininko (unowned) nuorodos.