Junior — Middle
iOS operatsion tizimida xotira bilan qanday ishlash amalga oshiriladi?
sobes.tech AI
AIdan javob
iOS-da xotira boshqaruvi ARC (Avtomatik Referanslar Hisobi) modeliga asoslangan bo‘lib, bu avtomatik ravishda referenslar hisobini yuritadi. Xotirada har bir obyektda referenslar hisoblagichi mavjud bo‘lib, u obyektdagi yangi referens yaratilganda oshadi va referens o‘chirilib tashlanganda kamayadi. Agar hisoblagich nolga teng bo‘lsa, obyekti avtomatik ravishda xotiradan o‘chiriladi.
iOS-da xotira boshqaruvining xususiyatlari:
- ARC dasturchiga retain/release ni qo‘lda chaqirish shart emasligini ta’minlaydi.
- Kuchli (strong) referenslar hisoblagichni oshiradi, zaif (weak) esa oshirmaydi, bu siklik referenslarni oldini oladi.
- Xotira oqiblarini aniqlash uchun Instruments bilan Leaks va Allocations kabi vositalar mavjud.
- ARC ga qo‘shimcha ravishda, iOS virtual xotira va operatsion tizimning xotira boshqaruv mexanizmlaridan foydalanadi, resurslardan samarali foydalanishni ta’minlash uchun.
Swiftda zaif referens misoli:
class Person {
var name: String
weak var friend: Person? // sikllarni oldini olish uchun zaif referens
init(name: String) {
self.name = name
}
}
Shu tarzda, iOS avtomatik referenslar hisobini tizim mexanizmlari bilan birlashtirib, ilovalar uchun samarali xotira boshqaruvini ta’minlaydi.