Junior — Middle
Можете ли објаснити принцип рада аутоматског управљања меморијом ARC у Objective-C?
sobes.tech АИ
Одговор од АИ
ARC (Automatsko Brojanje Referenci) je mehanizam za upravljanje memorijom u Objective-C koji automatski prati broj referenci na objekte i oslobađa memoriju kada objekat više nije u upotrebi.
Princip rada ARC-a zasniva se na brojanju referenci (retain count):
- Kada se kreira objekat, njegov brojač je 1.
- Kada se objekat dodeli novoj promenljivoj, brojač se povećava (retain).
- Kada promenljiva izađe iz opsega ili joj se dodeli nil, brojač se smanjuje (release).
- Kada brojač dostigne 0, objekat se automatski briše iz memorije.
Primer:
NSObject *obj = [[NSObject alloc] init]; // retain count = 1
self.property = obj; // brojač se povećava
obj = nil; // brojač se smanjuje
// Kada sve reference na objekat nestanu, memorija se automatski oslobađa
Razvojni programer ne mora eksplicitno da poziva retain/release, ARC umeće ta pozivanja tokom kompilacije, čime se smanjuje verovatnoća grešaka u upravljanju memorijom, kao što su curenja ili dvostruko oslobađanje.