Sobes.tech
Junior — Middle

Hogyan követi és kezeli az ARC automatik memória kezelés rendszere az objektumokra mutató hivatkozásokat?

sobes.tech MI

Válasz az MI-től

ARC (Automatikus Referencia Számlálás) az iOS memória kezelésének rendszere, amely automatikusan nyomon követi az objektumokra mutató hivatkozások számát.

Működési elv:

  • Minden objektumnak van egy hivatkozásszámlálója.
  • Amikor egy új erős hivatkozás jön létre egy objektumra, a számláló növekszik.
  • Amikor egy hivatkozás törlésre kerül vagy nil lesz, a számláló csökken.
  • Ha a számláló eléri a nullát, az objektum automatikusan felszabadul a memóriából.

Az ARC elemzi a kódot fordításkor, és retain/release hívásokat illeszt be az objektumok életciklusának kezelésére anélkül, hogy kézi memória kezelést kellene végezni.

Fontos elkerülni a ciklikus hivatkozásokat (retain cycles), amikor két objektum erős hivatkozásokkal hivatkozik egymásra, ami megakadályozza a memória felszabadulását. Ehhez gyenge (weak) vagy tulajdon nélküli (unowned) hivatkozásokat használnak.