我正在使用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();
});
}