Sobes.tech
Junior — Middle

Hangi bellek sızıntısı türleri vardır ve nasıl tespit edilirler?

sobes.tech yapay zeka

AI'dan gelen yanıt

iOS'ta birkaç bellek sızıntısı türü vardır:

  • Döngüsel referanslar (retain cycle'lar): iki nesne birbirini güçlü referanslarla tutuyorsa, bu serbest bırakılmalarını engeller.
  • Delegelerin yanlış kullanımı nedeniyle sızıntılar: delegat güçlü referans olarak ilan edilirse, bu bir döngüye yol açabilir.
  • Serbest bırakılmamış kaynaklar nedeniyle sızıntılar: örneğin, zamanlayıcılar, bildirim gözlemcileri, kaldırılmamış olanlar.

Sızıntıları tespit etmek için Xcode araçları kullanılır:

  • Instruments (Leaks ve Allocations) — serbest bırakılmayan nesneleri izler.
  • Memory Graph Debugger — nesneler arasındaki bağlantıları görselleştirir ve döngüleri bulmaya yardımcı olur.

Örnek: ViewController sınıfında, durdurulmayıp sıfırlanmayan güçlü bir zamanlayıcıya sahipse, bu bir sızıntıya yol açabilir.