将AdBannerView添加到应用程序会造成内存泄漏

时间:2010-08-17 06:20:35

标签: iphone ios4 iad

我有一个使用SDK 4.0的iPhone应用程序。它显示'Instruments'工具中没有泄漏,我相信代码没有任何内存泄漏。

然后我尝试将iAd添加到应用程序,它开始显示内存泄漏。为了解决问题,我删除了所有其他代码。

剩下的就是为.xib文件添加了一个AdBannerView(没有对没有iAds的代码的工作版本进行一次修改)。这表明内存泄漏。

每次加载视图时,“工具”工具都会显示5个泄漏的块,每块16个字节,其中包含负责任的图书馆“基础”和“负责任的框架”

[NSCFString copywithZone:]

进一步运行应用程序会让我从负责任的库'iAd'泄漏(每次泄漏2个48字节),以及负责任的框架:

[AdBrandingFrame initWithFrame:]

此外,我还使用负责的库'UIKit'和负责任的框架

获得48字节的泄漏
-[UIView _createLayerWithFrame:]

由于我的工作非泄漏代码绝对没有添加,除了添加到.xib文件的AdBannerView之外,我想知道Apple的代码是否会导致泄漏。虽然泄漏量相对较小,但我想解决它。我知道即使可能没有泄漏,也有可能出现泄漏(指针可能仍然被操作系统以某种方式保留,而Leaks不知道 - 很高兴知道是否是这种情况)。

所以我有两个问题:
1)问题实际上是我的代码是否有可能,并且由于某种原因泄漏只会在添加AdBannerView后出现?如果有这种可能性,我会进行另一次彻底的代码测试。

2)如果这是Apple的代码存在问题而您遇到此问题,是否有任何解决方法?

非常感谢任何帮助。谢谢!

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题。我认为这已在IOS 4.1中修复 当我在4.0中测试时,我得到了几个泄漏“NSCFString copyWithZone” 在4.1中进行测试时,一切都很好。