Sobes.tech
Junior — Middle

Aké sú typy únikov pamäte a ako ich odhaliť?

sobes.tech AI

Odpoveď od AI

V iOS existuje niekoľko typov únikov pamäte:

  • Cyklické odkazy (retenciačné cykly): keď si dva objekty navzájom držia silné odkazy, čo bráni ich uvoľneniu.
  • Úniky kvôli nesprávnemu použitiu delegátov: ak je delegát deklarovaný ako silná referencia, môže dôjsť ku cyklu.
  • Úniky kvôli neuvoľneným zdrojom: napríklad časovače, pozorovatelia oznámení, ktoré neboli odstránené.

Na detekciu únikov sa používajú nástroje Xcode:

  • Instruments (Leaks a Allocations) — sleduje objekty, ktoré sa neuvoľňujú.
  • Memory Graph Debugger — vizualizuje spojenia medzi objektmi a pomáha nájsť cykly.

Príklad: ak v triede ViewController je silná referencia na časovač, ktorý sa nezastavuje a neje nulovaný, môže to viesť k úniku.