我刚刚开始使用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]];
答案 0 :(得分:0)
我遇到了同样的问题。
收到新广告时,您必须从父视图中删除以前的广告。
否则,它们会叠加在一起并消耗记忆。
因此,在收到超过15个广告后,分配的内存百分比保持不变。
希望这会对你有所帮助。
- ( void )displayBanner:( UIView * )banner
{
UIView * oldBanner = [ _bannerView viewWithTag:999 ];
if( oldBanner )
{
[ oldBanner removeFromSuperview ];
oldBanner = nil;
}
banner.tag = 999;
[ _bannerView addSubview:banner ];
}