Ker*_*ncı 22 xcode memory-leaks admob ios swift
每当新广告出现时我都会使用Swift语言进行ADMOB,我的内存正在增加.我认为有泄漏.没有ADMOB一切都很好.
var inter: GADInterstitial
override func viewWillAppear(animated: Bool) {
inter = GADInterstitial()
inter.delegate = self
inter.adUnitID = "****"
var request:GADRequest = GADRequest()
request.testDevices = [ "***" ]
inter.loadRequest(request)
}
Run Code Online (Sandbox Code Playgroud)
我正在使用UIActionAlert来显示插页式广告
self.inter.presentFromRootViewController(self)
Run Code Online (Sandbox Code Playgroud)
记忆报告链接:

难道我做错了什么?我正在使用ARC.我可以强迫自己释放这个Interstitials.
EDİT:
我也试过GADBanner了.我只是打开应用程序; 我没有做任何事情而且记忆力在增加
override func viewWillAppear(animated: Bool) {
banner = GADBannerView()
banner.delegate = self
banner.adSize = kGADAdSizeSmartBannerPortrait
banner.adUnitID = "****"
var request:GADRequest = GADRequest()
banner.rootViewController = self
request.testDevices = [ "****" ]
self.view.addSubview(banner)
}
Run Code Online (Sandbox Code Playgroud)

我认为你需要通过将 delegate 设置为 nil 来释放横幅。来自 AdMob 文档(请参阅https://developers.google.com/mobile-ads-sdk/docs/admob/ios/banner?hl=es):
请注意,如果您将委托实现为不同的对象而不是 GADBannerView 子类,则应确保在释放视图之前将 GADBannerView 的委托属性设置为 nil。
- (void)dealloc {
bannerView_.delegate = nil;
// Don't release the bannerView_ if you are using ARC in your project
[bannerView_ release];
[super dealloc];
}
Run Code Online (Sandbox Code Playgroud)
对于你的情况,我认为你只需要实现调用 bannerView_.delegate = nil 。
我希望这有帮助。