Почему мое приложение Silverlight использует так много неуправляемой памяти? - PullRequest
5 голосов
/ 21 ноября 2011

У меня довольно простое приложение Silverlight, в последнее время мы получаем сообщения от пользователей о сбое приложения после нескольких часов использования (4+). Мы начали копаться в приложении и заметили, что неуправляемая часть памяти, используемая приложением, начинает очень высоко и продолжает расти без контроля. Кажется, что с остальными кучами все в порядке. Я провел много исследований и даже пошел дальше, удаляя все изображения из моего приложения, и объем неуправляемой памяти продолжает расти.

Я просто запутался в том, что именно потребляет всю неуправляемую память в моем приложении и что я могу с этим поделать. Вот снимок моего приложения после начальной загрузки, поскольку вы можете видеть, что оно уже использует более 100 МБ неуправляемой памяти. Я просто ищу какие-либо рекомендации о том, какие объекты могут находиться в неуправляемой памяти и что делать, чтобы уменьшить объем неуправляемой памяти, используемой моим приложением. Спасибо!

Ants Memory Snapshot

Я сделал еще один или два снимка с помощью .NET Memory Profiler, и кажется, что Kernel-HeapMemory - это самый большой кусок. Не уверен, что это сильно поможет, но я все равно решил написать.

enter image description here

1 Ответ

1 голос
/ 23 ноября 2011

Вы пробовали CLR Profiler для Silverlight ? Я использовал его с некоторым успехом в прошлом для устранения проблем с памятью.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...