Junior — Middle
Эстуттүү эс тутумдун агып кетүү түрлөрү кандай жана аларды кантип аныктоо керек?
sobes.tech AI
AIден жооп
iOS-та бир нече түрлүү эс тутуму агып кетүүлөрү бар:
- Циклик шилтемелер (карма цикли): эки объект бири-бирин күчтүү шилтемелер менен кармап турганда, бул алардын бошотулушуна тоскоол болот.
- Делегаттарды туура эмес колдонуу менен агып кетүүлөр: эгер делегат күчтүү шилтеме катары жарыяланган болсо, бул циклге алып келиши мүмкүн.
- Бошотулбаган ресурстардан улам агып кетүүлөр: мисалы, таймерлер, кабарлануу көзөмөлчүлөрү, алар алынып салынган эмес.
Агып кетүүлөрдү аныктоо үчүн Xcode куралдары колдонулат:
- Instruments (Leaks жана Allocations) — бошотулбаган объекттерди көзөмөлдөйт.
- Memory Graph Debugger — объекттердин ортосундагы байланышты визуалдаштырып, циклдерди табууга жардам берет.
Мисал: эгер ViewController класында күчтүү шилтеме таймерге бар болсо, ал токтоп жана нөлгө түшүрүлбөсө, бул агып кетүүгө алып келиши мүмкүн.