Sobes.tech
Junior — Middle

Ինչպե՞ս է ARC ավտոմատ հիշողության կառավարման համակարգը հետևում և կառավարում օբյեկտների հղումները։

sobes.tech AI

Պատասխան AI-ից

ARC (Ավտոմատ Ռեֆերանսների Հաշվարկ)-ը iOS-ում հիշողության կառավարման համակարգ է, որը ավտոմատ կերպով հետևում է օբյեկտների վրա հղումների թվին:

Աշխատելու սկզբունքը՝

  • Յուրաքանչյուր օբյեկտ ունի հղման հաշվիչ:
  • Երբ ստեղծվում է նոր ուժեղ հղում օբյեկտին, հաշվիչը մեծանում է:
  • Երբ հղումը հեռացվում է կամ դառնում nil, հաշվիչը նվազում է:
  • Եթե հաշվիչը հասնում է զրոյի, օբյեկտը ավտոմատ կերպով ազատվում է հիշողությունից:

ARC-ը վերլուծում է կոդը կոմպիլացիայի ժամանակ և ավելացնում retain/release կանչեր՝ օբյեկտների կյանքի ցիկլը կառավարելու համար առանց ձեռքով հիշողության կառավարման:

Կարևոր է խուսափել ցիկլային հղումներից (retain cycles), երբ երկու օբյեկտներ միմյանց վրա հղում են ուժեղ հղումներով, ինչը խանգարում է հիշողության ազատմանը: Դրա համար օգտագործվում են թույլ (weak) կամ առանց սեփականության (unowned) հղումներ։