我们有一个应用程序,它混合了.NET 2.0和本地C++。在我们的测试中,我们有一种模式可以自动循环运行一组项目。一个项目打开、运行、关闭、重复。每个步骤都需要创建/销毁窗口(确切地说是winforms)。最近我们遇到了一些奇怪的性能问题。在运行几个小时后,打开和关闭部分变慢了(阻塞GUI线程并显示半个绘制屏幕等)。现在很容易认为这是资源泄漏的问题……但我们正在跟踪句柄和内存,虽然内存略微增长,但没有任何迹象表明出现了这种级别的问题。句柄是稳定的。所以可能是悬空的事件处理程序……还需要调查一下。但是让我困惑的是,关闭应用程序并重新启动它并不能恢复最初的性能。直到我重新启动操作系统(Win XP),性能才开始变得敏捷。这真的让我困惑,因为我认为关闭应用程序会回收所有资源。您有什么想法吗?