webbrowser控制内存使用率高

时间:2014-05-22 19:48:42

标签: windows-phone-8 browser

我对系统内存有疑问。 我在我的应用程序中集成了一个Web浏览器。在网上冲浪,内存使用量越来越大......显然它是Windows手机在页面浏览期间管理内存(至少对于浏览器而言),所以我不应该有任何内存异常。当我将视图留在浏览器上时会出现问题:我的内存使用量仍然很高。我说的是50-60MB或90/95 MB(在某些网站上)。我试图在退出时执行内存清理而没有任何成功...如果我以这种方式使用应用程序,我肯定会陷入内存异常,因为内存使用量永远不会下降

protected async override void OnNavigatedFrom(NavigationEventArgs e)
    {

        await Browser.ClearInternetCacheAsync();
        await Browser.ClearCookiesAsync();

        ContentPanel.Children.Remove(Browser);

        GC.Collect();
        GC.WaitForPendingFinalizers();
        GC.Collect();
    }

有没有人能解决这个问题? 请让我知道

1 个答案:

答案 0 :(得分:0)

您可以将代码从OnNavigatedFrom复制到OnNavigatingFrom,并在应用的各个阶段复制,就像在冲浪时一样,而不是在最后阶段,即OnNavigatedFrom,因为这只是该控件的问题。 也可以在每次网络浏览器会话之前和之后尝试调用await new WebBrowser().ClearCookiesAsync()