Xcode ile Nasıl Memory Leaks Tespit Edilir?

Merhaba arkadaşlar, bu yazımızda Xcode ile projemizde varolan Memory Leaks nasıl tespit edilir bundan bahsedeceğiz. Memory Leaks nedir, nasıl oluşur gibi soruların cevaplarına buradan ulaşabilirsiniz.

Yapacağımız örnek senaryoda apartman ve kiracıları ekleyip, listeleyebilen ve silebilen bir uygulama olacak. Uygulamanın 3 ekranı olacak. Bunlar Splash, Kiracı ekleme ve listeleme ekranları olacaktır. Uygulamanın çalışması aşağıdaki gibidir.

Apartman ve kiracı olarak 2 farklı modelimiz var. Apartman modelinin içerisinde opsiyonel olarak kiracı, kiracı modelimiz içinde ise olarak apartman modelimiz olacak. Çünkü apartmanda kiracı belki vardır belki yoktur ama kiracı muhakkak bir apartmanda oturmalıdır. Modellerimiz aşağıdaki gibi.

Uygulamamızda Memory Leaks oluşup oluşmadığını kontrol etmek için Instrument uygulaması içerisinde Leaks’i seçmemiz gerekiyor.

Ardından uygulamamızı başlatıp Memory Leaks oluşup oluşmadığını kontrol edebiliriz.

Gif’te gördüğünüz gibi aslında yeni bir kiracı ekleyip ardından sildiğimiz zaman Memory Leaks oluştuğunu ve bunu hangi modellerde olduğunu görebiliyoruz.

Sebebi ise apartman ve kiracı modellerimiz birbirine Strong olarak tuttuğu için listeden silsek bile 0’a düşmüyor. Bu nedenle hiç kullanmadığımız model RAM’de yer tutumaya devam ediyor. Apartman modelimiz içinde bulunan kiracı değişkenimizi Weak olarak tanımlamalıyız. Düzelttiğimiz modelimiz şu şekilde oluyor.

Gifte gördüğünüz gibi artık listeden bir model silince Memory Leaks oluşmuyor.

Projeyi daha detaylı incelemek için buradan ulaşabilirsiniz. Sorularınız olursa mail veya yorum atarak bana ulaşabilirsiniz.

Leave a Comment

E-posta hesabınız yayımlanmayacak.

This site uses Akismet to reduce spam. Learn how your comment data is processed.