Дар кадом марҳила идоракунии ҳисобкунаки истинодҳо дар режими автоматии ҳисобкунии хотираи ARC сурат мегирад?
sobes.tech AI
Ҷавоб аз AI
Дар ҳангоми ҳисобкунии автоматии хотира бо ARC (Automatic Reference Counting), идоракунии ҳисобкунаки истинодҳо дар вақти компилятсия ва иҷрои коди рух медиҳад.
-
Дар марҳилаи компилятсия, компилятор кодро таҳлил мекунад ва автоматӣ даъватҳоро барои афзоиш (
retain) ва кам кардани (release) ҳисобкунаки истинодҳоро атрофи амалҳои таъин ва истифодаи объектҳо ворид мекунад. -
Дар вақти иҷро, ин даъватҳо ҳаёти циклӣ объектҳоро идора мекунанд: бо афзоиш, объект нигоҳ дошта мешавад; бо кам кардан ва расидан ба сифр, объект озод карда мешавад.
Бинобар ин, идоракунии ҳисобкунаки истинодҳо пинҳонӣ ва автоматӣ дар вақти иҷрои барнома сурат мегирад, ба шарофати дастурҳое, ки компилятор ворид мекунад.
Масалан дар Swift:
class Person {}
func createPerson() {
let p = Person() // ARC ҳисобкунакиро зиёд мекунад
// ... истифодаи p
} // дар баромад аз функсия, ARC ҳисобкунакиро кам мекунад ва агар дигар истинодҳо набошанд, объект озод мешавад
Ин ба таҳиягар имкон медиҳад, ки дар бораи идоракунии дастӣ ёдгирии хотира ғамгин нашаванд.