Sobes.tech
Junior — Middle

Эстуттүү эс тутумдун агып кетүү түрлөрү кандай жана аларды кантип аныктоо керек?

sobes.tech AI

AIден жооп

iOS-та бир нече түрлүү эс тутуму агып кетүүлөрү бар:

  • Циклик шилтемелер (карма цикли): эки объект бири-бирин күчтүү шилтемелер менен кармап турганда, бул алардын бошотулушуна тоскоол болот.
  • Делегаттарды туура эмес колдонуу менен агып кетүүлөр: эгер делегат күчтүү шилтеме катары жарыяланган болсо, бул циклге алып келиши мүмкүн.
  • Бошотулбаган ресурстардан улам агып кетүүлөр: мисалы, таймерлер, кабарлануу көзөмөлчүлөрү, алар алынып салынган эмес.

Агып кетүүлөрдү аныктоо үчүн Xcode куралдары колдонулат:

  • Instruments (Leaks жана Allocations) — бошотулбаган объекттерди көзөмөлдөйт.
  • Memory Graph Debugger — объекттердин ортосундагы байланышты визуалдаштырып, циклдерди табууга жардам берет.

Мисал: эгер ViewController класында күчтүү шилтеме таймерге бар болсо, ал токтоп жана нөлгө түшүрүлбөсө, бул агып кетүүгө алып келиши мүмкүн.