0

在 Google Admob/DFP 教程 [1] 中,他们建议使用 bannerView 作为实例变量,但我不会污染我的 viewcontroller 类,所以我有一个Util类,有一个返回自动发布的 DFPBannerView 的方法

- (DFPBannerView *) getBannerAds
{
  DFPBannerView * bannerView;
  bannerView = [[[DFPBannerView alloc] initWithAdSize:kGADAdSizeSmartBannerPortrait] autorelease];
  ...
  return bannerView;
}

在我所有的视图控制器类中,如果我想在视图中添加横幅......

DFPBannerView * bannerView = [self getBannerAds];
[self.view addSubview: bannerView];

问题:

  1. 我的方法内存安全吗,是否有内存泄漏?(我没有使用 ARC)

[1] https://developers.google.com/mobile-ads-sdk/docs/dfp/fundamentals

4

1 回答 1

0

是的,代码在手动引用计数环境中的内存处理方面很好。(即不是ARC)

getBannerAds 返回一个自动释放的对象,这是正确的。

当您使用视图 addSubview 添加子视图时,self.view 将保留bannerView,只要它需要它,然后也负责释放它。

于 2013-06-15T10:49:07.517 回答