将 AdMediator 与 pubCenter 和 AdMob 一起使用的内存泄漏

Posted

技术标签:

【中文标题】将 AdMediator 与 pubCenter 和 AdMob 一起使用的内存泄漏【英文标题】:Memory leak using AdMediator with pubCenter and AdMob 【发布时间】:2016-05-09 18:19:07 【问题描述】:

我在我的 Silverlight Windows Phone 8.0 应用程序中使用了最新版本的 AdMediator

我将它与 Google AdMobMicrosoft pubCenter 一起使用。

我注意到,当我导航到其他页面时,AdMediatorControl 不会释放其内存,实际上是在 10~15 次导航之后(取决于我在页面上放置了多少广告)应用程序因 OutOfMemoryException 而崩溃。

如果我从 XAML 中删除 AdMediatorControl,这不会发生,并且内存已正确释放(我可以在 Windows Phone Developer Power Tools 中看到它)。

我尝试在 OnNavigatedFrom 事件上将我的 AdMediatorControl 实例设置为 null,但这不会改变任何内容

因此,我无法发布我的应用。你能帮帮我吗?

【问题讨论】:

【参考方案1】:

解决了! 我只需要为整个应用程序使用相同的实例。

这是我解决问题的方法:

我已删除 AdMediator 并使用 C# 手动实例化横幅。 因此,我在 App 类中创建了 AdView 和 AdRequest(公共静态)的单个实例,我在事件 Application_Launching 中对其进行了初始化。

然后,在我需要横幅的每个页面中,在 OnNavigatedTo 事件中,我将 App 类的 AdView 设置为页面网格 (ContentGrid) 的子级,并在 App 类的 AdRequest 实例上启动 LoadAd 方法。

然后,在 OnNavigatedFrom 事件中,我从网格的子项中删除 AdView。

完成!没有更多的内存泄漏! :D

【讨论】:

以上是关于将 AdMediator 与 pubCenter 和 AdMob 一起使用的内存泄漏的主要内容,如果未能解决你的问题,请参考以下文章

AdControl AdControl 不显示 AD (MsPubCenter)

php [将产品与社交共享插件集成]将社交共享插件与WooCommerce集成 - Sharedaddy

php [将产品与社交共享插件集成]将社交共享插件与WooCommerce集成 - Sharedaddy

php [将产品与社交共享插件集成]将社交共享插件与WooCommerce集成 - Sharedaddy

php [将产品与社交共享插件集成]将社交共享插件与WooCommerce集成 - 分享此功能

php [将产品与社交共享插件集成]将社交共享插件与WooCommerce集成 - 分享此功能