我在 Silverlight Windows Phone 8.0 应用程序中使用了最新版本的 AdMediator 。
我在 Google AdMob 和 Microsoft pubCenter 中使用它。
我注意到,当我导航到其他网页时, AdMediatorControl不会释放内存,实际上是在10到15次导航后(取决于我在网页上放置的广告数量)应用程序崩溃时出现 OutOfMemoryException 。
如果我从XAML中移除AdMediatorControl ,则不会发生这种情况并且内存已正确发布(我可以在Windows Phone Developer Power Tools中看到它)。 / p>
我尝试在事件OnNavigatedFrom上将我的AdMediatorControl实例设置为null ,但不会改变任何内容。
因此我无法发布我的应用。你能帮我吗?
答案 0 :(得分:1)
解决! 我只需要为整个应用程序使用相同的实例。
以下是我解决问题的方法:
我已删除AdMediator并使用C#手动实例化横幅。 因此,我在类App中创建了一个AdView和AdRequest(公共静态)实例,我在事件Application_Launching中初始化。
然后,在我需要横幅的每个页面中,在OnNavigated事件中,我将App类的AdView设置为页面Grid(ContentGrid)的子项,并在App类的AdRequest实例上启动LoadAd方法。 / p>
然后,在OnNavigatedFrom事件中,我从网格的子项中删除了AdView。
完成!没有更多的内存泄漏! :d