Junior — Middle
Xotira oqishi turlari qanday va ularni qanday aniqlash mumkin?
sobes.tech AI
AIdan javob
iOS'da bir nechta xotira oqibati turlari mavjud:
- Tsiklik havolalar (saqlash tsikllari): ikki ob'ekt bir-birini kuchli havolalar bilan ushlab turganda, bu ularning ozod qilinishiga to'sqinlik qiladi.
- Delegatlar noto'g'ri ishlatilishi natijasida oqibatlar: agar delegat kuchli havola sifatida e'lon qilingan bo'lsa, bu tsiklga olib kelishi mumkin.
- Ozod qilinmagan resurslar sababli oqibatlar: masalan, vaqt o'lchovchilar, bildirishnomalar kuzatuvchilari, olib tashlanmaganlar.
Oqibatlardan xalos bo'lish uchun Xcode vositalaridan foydalaniladi:
- Instruments (Leaks va Allocations) — ozod qilinmaydigan ob'ektlarni kuzatishga imkon beradi.
- Memory Graph Debugger — ob'ektlar o'rtasidagi bog'lanishlarni vizualizatsiya qiladi va tsikllarni topishga yordam beradi.
Misol uchun: ViewController sinfida, to'xtatilmaydigan va nolga tushirilmaydigan kuchli vaqt o'lchovchisiga ega bo'lsa, bu oqibatlarga olib kelishi mumkin.