为什么我的AdMob代码在我的iphone应用中泄漏了?

时间:2011-06-16 09:06:22

标签: iphone objective-c admob

我已在我的iphone应用中添加了AdMob。我在viewDidLoad方法中有以下代码:

bannerView_ = [[GADBannerView alloc]
               initWithFrame:CGRectMake(0.0,
                                        0.0,
                                        320,
                                        50)];



// Specify the ad's "unit identifier." This is your AdMob Publisher ID.
bannerView_.adUnitID = ADMOB_BANNER_UNIT_ID;

// Let the runtime know which UIViewController to restore after taking
// the user wherever the ad goes and add it to the view hierarchy.
bannerView_.rootViewController = self;
[self.view addSubview:bannerView_];

// Initiate a generic request to load it with an ad.
GADRequest *r = [[GADRequest alloc] init];
r.testing = YES;
[bannerView_ loadRequest:r];
[r release];

这个漏洞。当我注释掉第二行([bannerView_ loadRequest:r];)时,泄漏消失了。我在Google提供的示例中更改此代码的唯一方法是引入变量r,以便将AdMob置于测试模式。在Google提供的代码中,bannerView_由viewDidUnload发布。我查找了loadRequest方法,但我发现的只是GADBannerView.h文件中的一个定义。据我所知,没有GADBannerView.m文件,这本身看起来很奇怪。无论如何,任何提示都将非常感激。

谢谢,

约翰

2 个答案:

答案 0 :(得分:0)

为什么不使用此AdMediator - 配置非常简单,您不必担心AdMob和iAds(如果您想使用它):

  如果没有iAd,

将交换AdMob广告   可用。

答案 1 :(得分:0)

您是否在dealloc方法或其他合适的地方发布了bannerView_?

而不是:

GADRequest *r = [[GADRequest alloc] init];

你可以尝试:

GADRequest *r = [GADRequest request];