У нас есть довольно большое приложение silverlight 4. Мы находимся в процессе обнаружения утечек памяти в приложении, и это превратилось в сложную задачу.Утечки памяти Silverlight
Все изменилось полностью с этим, для тех из вас, кто видел оригинальный пост!
Я понял, что профайлер памяти ANTS не показывал мне нужный материал. Это произошло потому, что утечка памяти не была в управляемом коде, а в собственном коде. Я исправил некоторые проблемы с ANTS - это хороший инструмент для утечек памяти управляемого кода.
Так что я нашел этот блог,
который был превосходен. Я использовал xPerf и xPerfViewer для просмотра родной кучи и посмотрел, что, по моему мнению, является фактической утечкой памяти.
Так что я могу увидеть трассировки стека, который выглядит,
CCoreServices::Draw
CCoreServices::Tick
CUElement::Render
CUIElement::Render
CUIElement::RenderWithTransform
CUIElement::RenderVisual
CUIElement::RenderChildren
{Repeat of the above in a recursive fashion}
Таким образом, в этом методе «Рендер» где-то выделяет около 520 байт памяти, и, насколько я могу сказать, это не освободите его.
Я могу также увидеть метод или класс называется
SDBitmapCreate
утечка памяти тоже.
Интересно, потому что кажется, что я что-то нашел, но я не совсем уверен, что.
Любые другие предложения?
Спасибо.
Как вы используете ANT для обнаружения утечек памяти? Единственным «ANT», о котором я знаю (или смог найти через Google), является инструмент сборки Java (http://ant.apache.org/). Это то, о чем вы говорите, или есть какой-то инструмент Silverlight ANT, о котором я не знаю (и явно должен)? – 2010-12-14 19:11:43
Не берите в голову, заметила это в конце концов: http://www.red-gate.com/products/dotnet-development/ants-memory-profiler/ – 2010-12-14 21:06:28
Да, это тот. Вы можете фильтровать по пространству имен, и обычно с утечкой памяти вы ожидаете увидеть классы в своих собственных пространствах имен, которые протекают. Здесь дело не в том, что материал в оболочке silverlight протекает. Я уверен, что мы это вызываем, но это просто усложняет задачу, и труднее завершить дело. – peter 2010-12-17 00:15:15