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.