C#CefSharp WebView内存问题

时间:2019-01-14 21:36:39

标签: c# winforms webview chromium cefsharp

我正在使用Winform CefSharp运行一个ChromiumWebBrowser应用程序。

我注意到,该应用程序运行了很多时间后,它占用了2527 MB(我从Task Manager获得此信息) enter image description here

我做了几件事来尝试减少它:

browser.BrowserSettings.ImageLoading = CefState.Disabled;

要删除照片。

CefSharpSettings.SubprocessExitIfParentProcessClosed = true;

关闭Subprocess

这两种方法都无助于减少内存。我还尝试检查ChromiumWebBrowser页面的源代码,但保存时仅占用2.7 MB。

任何想法可能是什么问题? 我该如何尝试进一步减少它?

编辑

这是网址:

https://web.telegram.org/#/im?p=s1142373756_10629735016947342097

然后我在循环中运行Javascript方法:

private void ScrollTop()
{

if (!addScrollTop)
{
String js =  "var script = document.createElement('script');" +
             "script.type = 'text/javascript';" +
             "script.text = \"function myFunctionScroll() { " +

                    "try {" +
                        "var element = document;" +
                        "var pageWrap = element.body.children[0];" +

                        "var history = pageWrap.getElementsByClassName('im_history_scrollable_wrap nano-content')[0];" +
                        "history.scrollTop = 0;" +
                    "} catch(err) { return err.message; }" +

                    "return 'done';" +

                 "}\";" +
                 "document.getElementsByTagName('head')[0].appendChild(script);";
    getFromBrowser.ExecuteScriptAsync(js);
    addScrollTop = true;
}

getFromBrowser.EvaluateScriptAsync("myFunctionScroll();").ContinueWith(x =>
{
    Thread.Sleep(TimeSpan.FromSeconds(3));

    ScrollTop();
});
}

0 个答案:

没有答案