我有一个应用程序,使用
问题在于,
奇怪的是,
我已经寻找了多年的解决方案(实际上自从我编写应用程序的第一个版本以来就一直如此)。有一些变通方法,但事实上,它们都没有解决问题。对我来说,唯一的解决方法是定期关闭和打开应用程序。
我已经测试了
我也尝试过
顺便说一下,我不能使用像
有人知道是否真的有解决这个问题的方法吗?
TWebbrowser
定期导航到特定的 URL 并提取一些数据。该应用程序持续运行 24x7 并在页面中进行了大量导航。问题在于,
TWebbrowser
存在众所周知的内存泄漏问题,每次导航到新页面时,应用程序使用的内存都会增加。我的应用程序可以轻松地在一段时间后使用超过 2GB 的 RAM。并且在导航了数百次之后,会抛出 'Out of memory'
或 'Out of system resources'
异常,唯一解决方法是重新启动应用程序。奇怪的是,
FASTMM
从未显示这些泄漏。当我使用我的应用程序几分钟并关闭它时,没有任何报告。我已经寻找了多年的解决方案(实际上自从我编写应用程序的第一个版本以来就一直如此)。有一些变通方法,但事实上,它们都没有解决问题。对我来说,唯一的解决方法是定期关闭和打开应用程序。
我已经测试了
SetProcessWorkingSetSize
方法,但它只是暂时缩小了应用程序使用的内存。几秒钟后,应用程序又使用了大量的内存。我也尝试过
EmbeddedWB
,但由于它是从 TWebbrowser
派生的,所以它受到相同问题的困扰。顺便说一下,我不能使用像
IdHTTP
这样的简单组件,因为我需要在访问的网站中执行一些 JavaScript 操作。有人知道是否真的有解决这个问题的方法吗?