我有一個使用SDK 4.0的正在運行的iPhone應用程序。它顯示'儀器'工具沒有泄漏,我相當確信代碼沒有任何內存泄漏。將AdBannerView添加到應用程序會產生內存泄漏
然後我嘗試添加iAds到應用程序,它開始顯示內存泄漏。爲了確定問題,我刪除了所有附加代碼。
所有剩下的就是添加到.xib文件的AdBannerView(沒有對沒有iAds的代碼的工作版本進行單獨修改)。這顯示內存泄漏。
每次視圖的負荷,「樂器」工具顯示5泄漏的每個16個字節的塊,與企業負責圖書館基金會「,並負責幀
[NSCFString copywithZone:]
而且運行的應用程序,讓我從泄漏負責任庫「的iAd」,和負責的幀(每個48個字節2次泄漏):
[AdBrandingFrame initWithFrame:]
此外,我也得到48層字節的泄漏與負責的庫「的UIKit」和負責幀
-[UIView _createLayerWithFrame:]
由於除了向.xib文件添加AdBannerView之外,我的工作無泄漏代碼絕對沒有增加,我不知道它是否是導致泄漏的Apple代碼。儘管泄漏相對較小,但我想解決這個問題。我明白,即使可能沒有一個漏洞,操作系統仍然有可能泄露泄漏(操作系統可能仍然以漏洞不知道的方式持有這些指示器 - 知道是否是這種情況會很好) )。
所以我有兩個問題:
1)有沒有機會問題實際上是我的代碼,泄漏出於某種原因只在添加AdBannerView後出現?如果有這種可能性,我會運行另一個徹底的代碼測試。
2)如果這是蘋果的代碼中的問題和任何你遇到了這一點,在那裏你發現任何變通辦法?
任何幫助將不勝感激。謝謝!
[成癮者正在泄漏存儲器(http://stackoverflow.com/questions/3571579/iads-are-leaking-memory) – 2010-10-04 03:13:59