Windows Phone 8.1上的VoIP应用程序的内存消耗

时间:2015-11-26 04:12:48

标签: c# memory-management windows-phone-8.1 voip windows-phone-voip

我有一个结合在Windows Phone 8.1 SDK上的VoIP应用程序。

我每次呼叫VoipBackgroundProcess.Launch()在后台启动VoIP进程,VoipPhoneCall.NotifyCallActive()通知系统我的VoIP呼叫处于活动状态,我得到Windows.System.MemoryManager.AppMemoryUsage来检查应用程序在调用该函数之前和之后的内存使用情况。

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

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

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

    在Windows Phone 8.1 SDK上调用VoIP apis时,有没有人对系统为什么占用大量内存有任何想法?

0 个答案:

没有答案