iAd和AdMob在记忆中沉重

我刚刚完成了为iOS平台编写新游戏的编码,现在我决定是时候在屏幕底部集成iAd / AdMob横幅了。 我已完成实施,iAd正在显示,如果失败,则会被AdMob横幅替换。 这很棒,但是我检查了应用程序的内存消耗情况,在iAd / AdMob集成之前,我的应用程序使用大约19MB的内存运行 – 通过iAd / AdMob集成,它使用超过50MB的内存运行。 关于这个问题,我有两个问题 – 他们应该像这样记忆沉重,还是我做错了什么? 其次,似乎这些横幅视图永远不会从内存中释放出来。 我已经尝试设置adBannerView = nil后跟[adBannerView removeFromSuperview],但仍然没有任何反应,内存根本没有减少。 仅供参考 – 我的游戏启用了ARC。

任何有关此事的帮助将不胜感激! 谢谢。

您观察到的内存增长是WebKits对堆的贡献的结果。 这种不幸的行为一直是很多愤怒的主题。 如果您尝试使用自己的Web视图加载横幅,则会发现类似的行为。 对此类似的讨论也有类似的问题,开发人员已经陷入了徒劳的战争,试图减少网络加载对内存的影响。

我个人还没有使用iAds,但我非常熟悉iOS上的Google广告集成,我们在实施后看到了大量内存增加。

TL; DR

话虽这么说你应该考虑观察调试内存量表,模拟内存警告,然后你的使用量应该下降。 在我遇到的大多数情况下,WebKit在删除其内存缓存方面做得不错。

但是,如果未处理这些内存警告,您肯定应该尝试提交错误报告。