Sobes.tech
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.