我有以下代码用于截取网页并将其保存到文件
Screenshot screenshot = ((ITakesScreenshot)WebDriver).GetScreenshot();
screenshot.SaveAsFile($"{fileFullName}.png", ImageFormat.Png);
调试时,在VS Performace窗口中,我可以看到在调用SaveAsFile()时内存跳转大约70-100MB(取决于页面大小),即使方法完成执行也不会释放。
有没有办法强制屏幕截图对象处理?
答案 0 :(得分:0)
您可以通过调用GC.Collect
来强制执行垃圾收集。但是,出于explained here的原因,您不应该这样做。
.NET自动处理释放未被引用的未使用对象的内存。垃圾收集强制所有线程在发生时停止,因此经常调用它会对应用程序产生影响。