неуправляемая утечка памяти в .net через компонент ActiveX dynavis - PullRequest
0 голосов
/ 03 августа 2011

Я использую компонент ActiveX, изначально написанный только для предварительно. Net дней, что вызывает утечку памяти.Все связанные с .Net экземпляры (AxHost и т. Д.) Освобождаются должным образом, но объем неуправляемой памяти продолжает расти.(согласно .Net mem profiler)

Есть ли способ принудительно освободить неуправляемую память из .Net?Может быть, это можно решить путем обработки непослушных компонентов ActiveX?

Компоненты - Dynavix 2 (dyDisplay, PictureDocument, AxDYNAview).

1 Ответ

1 голос
/ 03 августа 2011

К сожалению, среда .Net не отвечает за неуправляемую память.

Что вы можете сделать, это создать программу и использовать IPC Remoting для связи между ними. Когда вам больше не нужны элементы управления, вы можете убить вторую программу (или убить ее, когда ее использование памяти слишком сильно увеличивается).

Вы даже можете размещать окна вашего дополнительного приложения в своих элементах управления - используя ту же самую хитрость, что и заставки Windows в режиме предварительного просмотра .

...