I have a VoIP app that combines on Windows phone 8.1 SDK.
For every times I call VoipBackgroundProcess.Launch() to start VoIP process in background, and VoipPhoneCall.NotifyCallActive() to notify the system that my VoIP call is active, I get the Windows.System.MemoryManager.AppMemoryUsage to check the app's memory usage before and after i called that functions.
In my testings, after I called that function, memory usage always increases a lot of memory immediately. Example on 512MB ram lumia device:
- VoipBackgroundProcess.Launch() : memory usage increases 51 MB
- VoipPhoneCall.NotifyCallActive() : memory usage increases 100 MB
Besides that, my app also do a lot of works related to memory, such as rendering images or media messaging but the memory limit is only 180 MB (get from Windows.System.MemoryManager.AppMemoryUsageLimit), it's easy to get exception out of memory and crash my app.
On combining my app on Windows phone 8.0 SDK, I do the same thing but when I get memory usage (from Microsoft.Phone.Info.DeviceStatus.ApplicationCurrentMemoryUsage), it do not take memory like Windows phone 8.1 SDK.
Does anyone have any ideas for why the system take a lot of memory when calling that VoIP apis on Windows phone 8.1 SDK?