iAd 和 AdMob 内存量很大



我刚刚完成了iOS平台的新游戏编码,现在我决定是时候在屏幕底部集成iAd/AdMob横幅了。我已经完成了实现,iAd出现了,如果它失败了,就会被AdMob横幅取代。这太棒了,但我检查了应用程序的内存消耗情况,在iAd/AdMob集成之前,我的应用程序运行时使用了大约19MB的内存——在iAd/AdMob集成中,它运行时使用的内存超过50MB。关于这件事,我有两个问题——它们应该像这样记忆深刻吗?还是我做错了什么?其次,这些条幅式的观点似乎永远不会从记忆中释放出来。我试着设置adBannerView=nil,然后设置[adBannerView removeFromSuperview],但仍然没有发生任何事情,内存也丝毫没有减少。F.Y.I-我的游戏启用了ARC。

如果能在这件事上提供任何帮助,我们将不胜感激!谢谢

您观察到的内存增长是WebKit对堆贡献的结果。这种不幸的行为引起了很多人的愤慨。如果你尝试使用自己的网络视图加载横幅,你会发现类似的行为。在SO上也有类似的讨论,比如这一次,开发者们陷入了一场徒劳的战争,试图减少网络加载对内存的影响。

我个人还没有使用iAds,但我非常熟悉iOS上的谷歌广告集成,我们看到在实现后内存显著增加。

TL;DR

话虽如此,您应该考虑观察调试内存量表,模拟内存警告,然后您的使用率应该会下降。在我遇到的大多数情况下,WebKit在删除内存缓存方面都做得很好。

然而,如果这些内存警告没有得到处理,你肯定应该设法提交一份错误报告。

最新更新