C# windows phone 8.1上VoIP应用程序的内存消耗

C# windows phone 8.1上VoIP应用程序的内存消耗,c#,memory-management,windows-phone-8.1,voip,windows-phone-voip,C#,Memory Management,Windows Phone 8.1,Voip,Windows Phone Voip,我有一个结合了Windows phone 8.1 SDK的VoIP应用程序 每次我在后台呼叫启动VoIP进程,并通知系统我的VoIP呼叫处于活动状态时,我都会让Windows.system.MemoryManager.AppMemorySage在调用该功能前后检查应用程序的内存使用情况 在我的测试中,调用该函数后,内存使用总是会立即增加大量内存。512MB ram lumia设备上的示例: VoipBackgroundProcess.Launch():内存使用量增加51 MB VoipPhone

我有一个结合了Windows phone 8.1 SDK的VoIP应用程序

每次我在后台呼叫启动VoIP进程,并通知系统我的VoIP呼叫处于活动状态时,我都会让Windows.system.MemoryManager.AppMemorySage在调用该功能前后检查应用程序的内存使用情况

在我的测试中,调用该函数后,内存使用总是会立即增加大量内存。512MB ram lumia设备上的示例:

  • VoipBackgroundProcess.Launch():内存使用量增加51 MB
  • VoipPhoneCall.NotifyCallActive():内存使用量增加100 MB
  • 除此之外,我的应用程序还做了很多与内存相关的工作,例如渲染图像或媒体消息,但内存限制只有180 MB(从Windows.System.MemoryManager.AppMemoryUsageLimit获取),很容易出现内存异常并使我的应用程序崩溃

    在Windows phone 8.0 SDK上组合我的应用程序时,我也会做同样的事情,但当我获得内存使用率(来自Microsoft.phone.Info.DeviceStatus.ApplicationCurrentMemorySage)时,它不会像Windows phone 8.1 SDK那样占用内存


    有人知道为什么在Windows phone 8.1 SDK上调用VoIP API时系统会占用大量内存吗?

    我建议使用
    性能和诊断工具来检查是否可以找到导致问题的原因。我刚刚尝试分析内存会话,但它不起作用,我的应用程序启动了,在加载页面中停留了几秒钟,然后崩溃,返回主屏幕,visual studio开始获取内存日志,并且它没有任何与VoIP api相关的内容。相反,我使用WindowsPhoneDeveloperPowerTools(8.1),我得到了这个图表,它没有显示任何东西来找出问题的原因,而且上面的内存也没有反映我之前提到的内存。