Sobes.tech
Junior — Middle

Jaké jsou typy úniků paměti a jak je odhalit?

sobes.tech AI

Odpověď od AI

V iOS existuje několik typů úniků paměti:

  • Cyklické odkazy (retention cykly): když si dva objekty navzájem drží silné odkazy, což brání jejich uvolnění.
  • Úniky kvůli nesprávnému použití delegátů: pokud je delegát deklarován jako silná reference, může dojít ke cyklu.
  • Úniky kvůli ne uvolněným zdrojům: například časovače, pozorovatelé oznámení, kteří nebyli odstraněni.

Pro detekci úniků se používají nástroje Xcode:

  • Instruments (Leaks a Allocations) — sleduje objekty, které se neuvolňují.
  • Memory Graph Debugger — vizualizuje spojení mezi objekty a pomáhá najít cykly.

Příklad: pokud ve třídě ViewController je silná reference na časovač, který se nezastavuje a není nulován, může to vést k úniku.