ARC xotira hisoblashning avtomatik rejimida havola hisoblagichini boshqarish qaysi bosqichda amalga oshiriladi?
sobes.tech AI
AIdan javob
ARC (Automatic Reference Counting) yordamida avtomatik xotira hisoblashda, referenslar hisoblagichi boshqaruvi kompilatsiya va kodni bajarish vaqtida amalga oshiriladi.
-
Kompilatsiya bosqichida, kompilyator kodni tahlil qiladi va avtomatik ravishda ob'ektlar bilan tayinlash va foydalanish operatsiyalari atrofida
retain(yaxshilash) varelease(kamaytirish) chaqiruvlarini qo'shadi. -
Bajarilish vaqtida, bu qo'shilgan chaqiruvlar ob'ektlarning hayot aylanishini boshqaradi: hisoblagichni oshirsa, ob'ekt saqlanadi; kamaytirsa va hisoblagich nolga yetganida, ob'ekt bo'shatiladi.
Shunday qilib, referenslar hisoblagichi boshqaruvi noma'lum va avtomatik ravishda dastur bajarilish vaqtida amalga oshadi, kompilyator tomonidan qo'shilgan ko'rsatmalar yordamida.
Swift misoli:
class Person {}
func createPerson() {
let p = Person() // ARC hisoblagichni oshiradi
// ... p ni foydalanish
} // funksiya tugagach, ARC hisoblagichni kamaytiradi va agar boshqa referenslar bo'lmasa, ob'ekt bo'shatiladi
Bu dasturchiga xotira boshqaruvi bilan qo'lda shug'ullanishni xohlamasdan, ishlash imkonini beradi.