Sobes.tech
Junior — Middle

Welche Arten von Speicherlecks gibt es und wie erkennt man sie?

sobes.tech KI

Antwort von AI

In iOS gibt es verschiedene Arten von Speicherlecks:

  • Zyklische Referenzen (Retain Cycles): wenn zwei Objekte sich gegenseitig durch starke Referenzen halten, was ihre Freigabe verhindert.
  • Lecks durch falsche Verwendung von Delegates: wenn der Delegate als starke Referenz deklariert ist, kann dies zu einem Zyklus führen.
  • Lecks durch nicht freigegebene Ressourcen: z.B. Timer, Notification-Observer, die nicht entfernt wurden.

Zur Erkennung von Lecks verwendet man Xcode-Tools:

  • Instruments (Leaks und Allocations) — verfolgt Objekte, die nicht freigegeben werden.
  • Memory Graph Debugger — visualisiert die Verbindungen zwischen Objekten und hilft, Zyklen zu finden.

Beispiel: Wenn in der Klasse ViewController eine starke Referenz auf einen Timer besteht, der nicht gestoppt oder nullifiziert wird, kann dies zu einem Leck führen.