如何修复单行程序中的 TWebBrowser 内存泄漏?德尔福 10.3

问题描述

多年来有很多关于内存泄漏和 TWebBrowser 组件的答案,但没有一个对我有帮助。我把问题简化为一行代码。

WebBrowser1.Navigate2('https://www.quora.com/profile/kevin-davidson-9/log');

该项目在一个表单上有一个 TWebBrowser 和一个带有该行代码的按钮。根据任务管理器的测量,每次我点击按钮都会损失 30-40 mb 的内存。

行不通的事情:

  • 调用 CoFreeUnusedLibrariesEx(0,0);
  • 向 Navigate2 调用添加 navNoHistory + navNoWriteToCache + navNoReadFromCache 标志
  • 释放 TWebBrowser
  • 导航到 about:blank

我正在导航的特定页面在向下滚动时动态生成内容,这就是我使用 TWebBrowser 的原因,我知道如何以编程方式滚动。如果有比 TWebBrowser 更好的方法,我愿意接受,只要我可以滚动并获取 HTML。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)