Junior — Middle
Օգտագործում է iOS ավտոմատ հիշողության մաքրման համակարգը ռեսուրսների կառավարման համար:
sobes.tech AI
Պատասխան AI-ից
iOS-ը ավանդական իմաստով ավտոմատ հիշողության մաքրման համակարգ չի օգտագործում, ինչպես օրինակ JavaScript կամ Java-ում գարշահավաքիչը։ Փոխարենը, iOS-ը օգտագործում է հիշողության կառավարման համակարգ, որը կոչվում է ARC (Automatic Reference Counting)։
ARC-ը ավտոմատ կերպով հետևում է օբյեկտների հղումների թվին և ազատում է հիշողությունը, երբ օբյեկտը այլևս չի օգտագործվում։ Ծրագրավորողը չի գրում կոդ հիշողությունը ձեռքով ազատելու համար, բայց պետք է հետևի հղումների ճիշտ կառավարմանը՝ խուսափելու համար ցիկլային կախվածություններից, որոնք կարող են հանգեցնել հիշողության լքման։
ARC-ի օգտագործման օրինակ՝
class Person {
var name: String
init(name: String) {
self.name = name
}
}
var person1: Person? = Person(name: "Иван")
var person2 = person1 // հղումների հաշվիչը մեծանում է
person1 = nil // հղումների հաշվիչը նվազում է, օբյեկտը դեռ գոյություն ունի
person2 = nil // հղումների հաշվիչը դառնում է 0, օբյեկտը ազատվում է
Այսպիսով, iOS-ը ավտոմատ կերպով կառավարում է հիշողությունը՝ հղումների հաշվարկի հիման վրա, ոչ թե աղբարկղի հավաքման։