2

Я пишу мультимедийное приложение (WP 8.1), которое использует BackgroundMediaPlayer. Проблема в памяти - фоновая задача нередко сбой с OutOfMemoryException. Я попытался пройти через код, чтобы увидеть, есть ли утечки памяти, но не удалось найти.Профилирование использования памяти фоновой задачи

Я столкнулся с этой статьей, в которой описывается профилирование памяти при запуске приложения. http://blogs.msdn.com/b/visualstudioalm/archive/2014/04/03/performance-profiling-on-windows-phone-8-1-with-visual-studio.aspx Как это можно сделать для фоновой задачи? Или или есть другие способы увидеть, как я могу оптимизировать использование памяти в фоновом задании?

Я уже пытался GC.Collect в крайнем случае, но не помогло ..

+0

Проблема не утечка, а твердая ссылка, которая не выпускается. Места, которые я обычно нахожу, они скрываются, поскольку они неочевидны, являются обработчиками событий, прикрепленными к памяти, которые, по вашему мнению, были выпущены. –

ответ

2

Установить приложение Field Medic, подключить телефон через USB и откройте папку This PC\Windows Phone\Phone\Documents\FieldMedic\CustomProfiles в проводнике, создавая недостающие папки в этом пути по мере необходимости.

Скачать этот profile file, скопируйте его в CustomProfiles папку на телефон.

Запустите приложение Field Medic, перейдите к advanced, выберите профиль мультимедийной памяти под номером custom.

enter image description here

Теперь запустите приложение, когда вы захватили несколько минут памяти растут, вернуться к полевой медик, остановить трассировку. Скопируйте файл ETL с This PC\Windows Phone\Phone\Documents\FieldMedic\reports на ваш компьютер и analyze it with Windows Performance Analyzer (WPA).

 Смежные вопросы

  • Нет связанных вопросов^_^