Junior — Middle
Koje su vrste curenja memorije i kako ih prepoznati?
sobes.tech АИ
Одговор од АИ
U iOS postoji nekoliko vrsta curenja memorije:
- Ciklične reference (retain ciklusi): kada dva objekta drže jedno drugo snažnim referencama, što sprečava njihovo oslobađanje.
- Curjenja zbog pogrešne upotrebe delegata: ako je delegat deklarisan kao snažna referenca, to može dovesti do ciklusa.
- Curenja zbog neoslobođenih resursa: na primer, tajmeri, posmatrači obaveštenja koji nisu uklonjeni.
Za otkrivanje curenja koriste se alati Xcode-a:
- Instruments (Leaks i Allocations) — prati objekte koji se ne oslobađaju.
- Memory Graph Debugger — vizualizuje veze između objekata i pomaže da se pronađu ciklusi.
Primer: ako u klasi ViewController postoji snažna referenca na tajmer koji se ne zaustavlja i ne resetuje, to može dovesti do curenja.