Я написал небольшой .NET add in для excel 2007, который считывает данные из внешнего C++ api и отображает его внутри excel.
Диспетчер задач показывает, что я испытываю утечку памяти (использование памяти набирает линейно до 250 МБ после того, как оно выдало «Excel не может выполнить эту задачу с ошибкой доступных ресурсов»), но проблема исчезает, как только я минимизирую окно excel.
api использует делегаты для возврата данных, и я обновляю его в словаре. другой поток обновляет excel из словаря каждую секунду.Взрыв памяти надстройки Excel
Вряд ли неуправляемый код отвечает за утечку.
Есть ли у кого-нибудь идеи, что может вызвать это?
10x!
Как вы считаете, что использование памяти связано с утечкой памяти? Если бы было такое, почему бы это остановить на 250 МБ? И минимизация окна не устраняет утечки. –
Я останавливаюсь после 250 МБ, потому что excel дает мне «не может завершить операцию с доступными ресурсами». – tsinik
Вы на XP? Диспетчер задач показывает только рабочий набор, который снижается ОС при минимизации главного окна приложения. Я бы предложил использовать Process Explorer для просмотра частных байтов. См. Также http://channel9.msdn.com/forums/TechOff/454007-Minimize-Window-Drop-its-Mem-Usage/ –