Потребление памяти приложением VoIP на Windows Phone 8.1
У меня есть приложение VoIP, которое объединяет в Windows Phone 8.1 SDK.
Каждый раз, когда я вызываю VoipBackgroundProcess.Launch(), чтобы запустить процесс VoIP в фоновом режиме, и VoipPhoneCall.NotifyCallActive(), чтобы уведомить систему, что мой вызов VoIP активен, я получаю Windows.System.MemoryManager.AppMemoryUsage, чтобы проверить использование памяти приложением до и после того, как я назвал эти функции.
В моих тестах, после того, как я вызвал эту функцию, использование памяти всегда немедленно увеличивает объем памяти. Пример устройства 512MB RAM:
- VoipBackgroundProcess.Launch(): использование памяти увеличивается на 51 МБ
- VoipPhoneCall.NotifyCallActive(): использование памяти увеличивается на 100 МБ
Помимо этого, мое приложение также выполняет много работ, связанных с памятью, таких как рендеринг изображений или обмен мультимедийными сообщениями, но ограничение памяти составляет всего 180 МБ (получить из Windows.System.MemoryManager.AppMemoryUsageLimit), легко извлечь исключение из памяти и сбой моего приложения.
При объединении моего приложения в Windows phone 8.0 SDK я делаю то же самое, но когда я получаю использование памяти (из Microsoft.Phone.Info.DeviceStatus.ApplicationCurrentMemoryUsage), оно не занимает память, как Windows phone 8.1 SDK.
У кого-нибудь есть идеи, почему система занимает много памяти при вызове этого VoIP apis на Windows phone 8.1 SDK?