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