iOS AdMob内存泄漏



我刚开始使用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]];

我也遇到过同样的问题。

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

否则,它们会相互叠加并消耗内存。

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

希望这对你有帮助。

- ( void )displayBanner:( UIView * )banner
{    
    UIView * oldBanner = [ _bannerView viewWithTag:999 ];
    if( oldBanner )
    {
       [ oldBanner removeFromSuperview ];
       oldBanner = nil;
    }
    banner.tag = 999;
    [ _bannerView addSubview:banner ];
}

最新更新