0

我使用的 ActiveX 组件最初仅用于 .Net 之前的日子,这会导致内存泄漏。所有 .Net 相关实例(AxHost 等)都已正确释放,但非托管内存仍在不断增长。(根据.Net mem profiler)

有没有办法从.Net 中强制释放非托管内存?也许这可以通过处理不守规矩的 ActiveX 组件的方式来解决?

组件是 Dynavix 2(dyDisplay、PictureDocument、AxDYNAview)。

4

1 回答 1

1

不幸的是,.Net 运行时不负责非托管内存。

您可以做的是创建一个程序并使用IPC Remoting在两者之间进行通信。当您不再需要这些控件时,您可以终止第二个程序(或在其内存使用量增长过多时终止它)。

您甚至可以在控件中托管辅助应用程序的窗口 - 使用 Windows 屏幕保护程序在预览模式下执行的相同技巧。

于 2011-08-03T10:48:14.643 回答