Junior — Middle
Ինչպե՞ս է ARC ավտոմատ հիշողության կառավարման համակարգը հետևում և կառավարում օբյեկտների հղումները։
sobes.tech AI
Պատասխան AI-ից
ARC (Ավտոմատ Ռեֆերանսների Հաշվարկ)-ը iOS-ում հիշողության կառավարման համակարգ է, որը ավտոմատ կերպով հետևում է օբյեկտների վրա հղումների թվին:
Աշխատելու սկզբունքը՝
- Յուրաքանչյուր օբյեկտ ունի հղման հաշվիչ:
- Երբ ստեղծվում է նոր ուժեղ հղում օբյեկտին, հաշվիչը մեծանում է:
- Երբ հղումը հեռացվում է կամ դառնում nil, հաշվիչը նվազում է:
- Եթե հաշվիչը հասնում է զրոյի, օբյեկտը ավտոմատ կերպով ազատվում է հիշողությունից:
ARC-ը վերլուծում է կոդը կոմպիլացիայի ժամանակ և ավելացնում retain/release կանչեր՝ օբյեկտների կյանքի ցիկլը կառավարելու համար առանց ձեռքով հիշողության կառավարման:
Կարևոր է խուսափել ցիկլային հղումներից (retain cycles), երբ երկու օբյեկտներ միմյանց վրա հղում են ուժեղ հղումներով, ինչը խանգարում է հիշողության ազատմանը: Դրա համար օգտագործվում են թույլ (weak) կամ առանց սեփականության (unowned) հղումներ։