2012-03-25 28 views
6

SBJson çerçevesinin git deposunu klonladım ve kaynak kodunu benim uygulamamın içine aktardım. Static Memory profiler düzenledi ve gördüğüm sonuçlardan biraz korktum. resmini bu mümkün nasılSBJson - bellek sızıntısı var mı?

enter image description here

görüyor musunuz? Bu çok iyi bilinen kütüphanenin geliştiricisinin bunu görmediğinden şüpheliyim? Ve aslında, eğer bir bellek profili çalıştırırsa, bu kütüphaneden hafıza sızıntılarını gösterir.

Herhangi bir fikrin var mı? Thx

+0

warrenm, doğru bir şekilde aşağıda yanıtlamıştır. Ancak, sadece SBJson'un 3.2 sürümünü, ARC desteği olmadan derlemeye girişmek için bir derleme hatası oluşturduğunu belirtmek isterim. –

cevap

8

ARC etkin olmayan bir projede SBJSON kullanıyorsunuz gibi görünüyor. ARC, release'u açıkça arama gereksinimini kaldırdığından, ARC için yazılmış kod (SBJSON gibi) ARC olmayan bir projede kullanıldığında bellek sızıntılarına neden olur. convert your project to use ARC, yerleşik refactoring aracıyla (Düzenle> Refactor> Objective-C ARC'ye Dönüştür, sonra da henüz ARC'ye hazır olmayan herhangi bir kaynağınızda -fno-objc-arc derleyici bayrağını açıkça ayarlamanız gerekir.

+6

Alternatif olarak, ARC olmayan SBJson v3.0.4 sürümüne geçebilirsiniz. –

+1

Bir projeyi ARC'ye dönüştürmenin dezavantajı yoktur. Baş avantajı, zaman içinde donmuş kalmak yerine, bağımlılarınızın daha yeni sürümlerinde sunulan düzeltmelerden yararlanabilmenizdir. – warrenm