加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

iOS AdMob内存泄漏?

发布时间:2020-12-14 19:04:13 所属栏目:百科 来源:网络整理
导读:我刚刚开始使用AdMob,但我注意到,在运行了大约一个小时之后,它累积了50MB!让人惊讶.我想要释放它,但我不能,因为我使用ARC.有任何想法吗?我正在使用谷歌提供的入门代码: GADBannerView *bannerView_ = [[GADBannerView alloc] initWithAdSize:kGADAdSizeBa
我刚刚开始使用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 ];
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读