2016-03-09 8 views
3

Я нашел утечку памяти в своем приложении и попытаюсь ее исправить. Но, к сожалению, я не могу найти причину утечки. Посмотрите на скриншот, я получил его с помощью профилировщика визуальной студии. Я не вижу никакого пути к root, но TracksViewModel жив!Как найти причину утечки памяти в Windows Phone 8.1 Приложение Xaml?

Как я могу найти причину утечки?

enter image description here

ответ

0

Как я могу видеть, что есть ссылка цикл в TracksViewModel. Я думаю, что есть некоторые сложные лямбда и лямбда EventHandlers

Также вы должны отказаться от подписки на все события (PropertyChanged for ex), когда VM больше не требуется. Также вы можете попробовать какой-то WeakEventHandler, если нет возможности отказаться от подписки.

+0

Вы правы, ссылка цикла - это лямбда, используемая командой для вызова действия, но она используется во всех моих моделях просмотра и позволяет GC ее выпускать. –