【发布时间】:2016-10-24 05:17:32
【问题描述】:
我在使用 Web Browser Control 时遇到了一些问题,我的程序继续向下滚动页面,永远抓取数据.. 或者直到我收到 OutOfMemoryException,即使我还有足够的 RAM。
在滚动了这么多之后,我在想,我应该处理掉 Web 浏览器,然后“重新创建”,或者再次“重用”,释放它之前使用的所有内存。
当我试图通过WebBrowser1.Dispose()处理它时
然后我无法再使用 WebBrowser1.Navigate(URL) 进行导航
我将如何使用它,或者在处理它之后重新创建 WebBrowser1。
任何帮助都会大有帮助,谢谢。
【问题讨论】:
-
请向我们展示您尝试过的代码或部分代码。
-
我的整个代码超过 3000 行,它只是在 10 秒左右一遍又一遍地阅读 WebBrowser1 文档 HTML 的一致性,同时向下滚动页面.. 长时间滚动后我得到一个 OutOfMemoryException,我的研究指出我要释放这么久后使用的内存,这是有道理的,但是当我调用 WebBrowser1.Dispose 时,我就不能再使用它了。
-
没有看到代码它有点困难出了什么问题。无论如何,我的建议是将网络响应的结果保存在 txt 文件中并尝试分析响应长度。编辑器上显示的数据字符数。我的意思是为什么你需要向下滚动。
-
你正在释放控件的内存,当然之后你将无法自动使用它。为此,您必须在释放后实例化它的新实例。至于您的内存问题,您可以将您的应用程序设为 64 位应用程序或 see this comment from Hans Passant。
-
我的程序在崩溃之前使用了大约 800MB,并在使用许多函数之一读取其文档时指向 WebBrowser1,并出现 OutOfMemoryException。我的程序向下滚动 Facebook 新闻源,从每个广告中抓取数据。经过一段时间的抓取,大约 200 条内容之后,它崩溃了。
标签: vb.net