iOS AdMob内存泄漏?

时间:2014-08-20 05:14:04

标签: ios objective-c xcode admob automatic-ref-counting

我刚刚开始使用AdMob,但我注意到,在运行了大约一个小时之后,它累积了50MB!让人惊讶。我想要释放它,但我不能使用ARC。有任何想法吗?我使用谷歌提供的入门代码:

GADBannerView *bannerView_ = [[GADBannerView alloc] initWithAdSize:kGADAdSizeBanner];

CGRect newFrame = CGRectMake(self.scroller.frame.origin.x,self.scroller.frame.origin.y + 70,self.scroller.frame.size.width,self.scroller.frame.size.height);
[self.scroller setFrame:newFrame];

bannerView_.adUnitID = @"XXXXX";
bannerView_.rootViewController = self;

[bannerView_ setFrame:CGRectMake(0,
                                 20,
                                 bannerView_.bounds.size.width,
                                 bannerView_.bounds.size.height)];

[self.view addSubview:bannerView_];

[bannerView_ loadRequest:[GADRequest request]];

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题。

收到新广告时,您必须从父视图中删除以前的广告。

否则,它们会叠加在一起并消耗记忆。

因此,在收到超过15个广告后,分配的内存百分比保持不变。

希望这会对你有所帮助。

- ( void )displayBanner:( UIView * )banner
{    
    UIView * oldBanner = [ _bannerView viewWithTag:999 ];

    if( oldBanner )
    {
       [ oldBanner removeFromSuperview ];
       oldBanner = nil;
    }

    banner.tag = 999;
    [ _bannerView addSubview:banner ];
}