【问题标题】:Memory leak using AdMediator with pubCenter and AdMob将 AdMediator 与 pubCenter 和 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,但这不会改变任何内容

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

【问题讨论】:

    标签: c# xaml windows-phone-8 windows-phone admob


    【解决方案1】:

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

    这是我解决问题的方法:

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-09-18
      • 2017-03-01
      • 1970-01-01
      • 2016-10-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-03
      相关资源
      最近更新 更多