0

Google Admob/DFP チュートリアル [1] では、bannerView をインスタンス変数として使用することを推奨していますが、viewcontroller クラスを汚染することはしないので、Utilクラスがあり、自動解放された DFPBannerView を返すメソッドがあります。

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

そして、すべてのView Controllerクラスで、バナーをビューに追加したい場合...

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 は自動解放されたオブジェクトを返していますが、これは正しいです。

view addSubview を使用してサブビューを追加すると、self.view は、必要な限り bannerView を保持し、その後も解放する責任があります。

于 2013-06-15T10:49:07.517 に答える