首页 > 解决方案 > C# CefSharp WebView 内存问题

问题描述

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

我注意到,在应用程序运行很长时间后,它需要 2527 MB(我从 获取此信息Task Manager在此处输入图像描述

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

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();
});
}

标签: c#winformswebviewchromiumcefsharp

解决方案


推荐阅读