2013-06-15 4 views
0

В учебнике Google Admob/DFP [1] они рекомендуют использовать bannerView как переменную экземпляра, но я не хочу, чтобы они загрязняли мой класс viewcontroller, поэтому у меня есть класс Util, есть метод, который возвращает автореализованный DFPBannerViewЯвляется ли мой метод добавления Google Banner в безопасную память контроллера?

- (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

ответ

0

Да, код прекрасно с точки зрения обработки памяти в руководстве ссылочного подсчитывали среды. (т. е. не ARC)

getBannerAds возвращает объект с автореализацией, что является правильным.

Когда вы добавляете subview, используя view addSubview, self.view сохранит bannerView столько, сколько ему нужно, а затем будет ответственным за его освобождение.