C # CefSharp WebView проблема с памятью - PullRequest
0 голосов
/ 15 января 2019

Я запускаю приложение Winform с CefSharp ChromiumWebBrowser.

Я заметил, что после долгого времени запуска приложения требуется 2527 МБ (я беру эту информацию из Task Manager) enter image description here

Я сделал пару вещей, чтобы попытаться уменьшить его:

browser.BrowserSettings.ImageLoading = CefState.Disabled;

Для удаления фотографий.

CefSharpSettings.SubprocessExitIfParentProcessClosed = true;

Чтобы закрыть Subprocess.

Обе эти вещи не помогли уменьшить память. Я также попытался проверить исходный код страницы ChromiumWebBrowser, но при сохранении он занимает всего 2,7 МБ.

Есть идеи, в чем может быть проблема? Как я могу попытаться уменьшить это больше?

EDIT

Это URL:

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