Sobes.tech
Junior — Middle

Երբ է տեղի ունենում օբյեկտի զբաղեցրած հիշողության ազատում?

sobes.tech AI

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

iOS-ում օբյեկտի հիշողության ազատումը տեղի է ունենում այն պահին, երբ այդ օբյեկտի (retain count) հղումների հաշվիչը հասնում է զրոյի: Սա նշանակում է, որ այլևս ոչ ոք չի հղում այդ օբյեկտին, և համակարգը կարող է ազատել այն զբաղեցրած հիշողությունը:

Նորագույն հավելվածներում օգտագործվում է ARC (Automatic Reference Counting), որը ավտոմատ կերպով ավելացնում և նվազեցնում է հղումների հաշվիչը օբյեկտին վերագրելու և հանելու ժամանակ:

Օրինակ՝

class MyClass {}

var obj: MyClass? = MyClass() // հղումների հաշվիչը = 1
obj = nil // հղումների հաշվիչը = 0, օբյեկտը ազատվում է

Այսպիսով, հիշողության ազատումը տեղի է ունենում անմիջապես այն ժամանակ, երբ վերջին սեփականատերը դադարում է հղում կատարել օբյեկտին։