如何在Windows Phone 7中获取应用程序最大内存限制

时间:2012-05-02 14:50:34

标签: windows-phone-7

我正在尝试获取应用程序最大分配内存详细信息,为此我使用了DeviceExtendedProperties这样的

long maxBytes = (long)DeviceExtendedProperties.GetValue("ApplicationWorkingSetLimit");

但它抛出异常Specified argument was out of the range of valid values.并且堆栈跟踪是

at Microsoft.Phone.Info.ExtendedPropertiesHelper.GetValue(String propertyName, GetValueImplDelegate getValueImpl)
   at Microsoft.Phone.Info.DeviceExtendedProperties.GetValue(String propertyName)

我可以正常使用long currentBytes =(long)DeviceExtendedProperties.GetValue("ApplicationCurrentMemoryUsage");,但不会获得ApplicationWorkingSetLimit

我浏览了一些博客并搜索了一些解决方案,我发现DeviceExtendedProperties 已弃用,并提供了代替DeviceStatus类。

DeviceStatus中有一个名为ApplicationMemoryUsageLimit的属性,它提供应用程序最大内存限制

但是

使用此类应用时,DeviceStatus包中的Microsoft.Phone.Info显示错误未找到类。我正在使用Windows Phone 7.0 SDK。

是否存在WP7.0中的DeviceStatus类?

请帮助我解决以其他方式获取 ApplicationMaxMemoryLimit 的问题,或者我做错了什么?

1 个答案:

答案 0 :(得分:2)

7.0 SDK中不提供

DeviceStatus。您必须至少将应用程序更新到目标7.1 - 不推荐使用所有其他构建。请记住,Windows Phone Marketplace将不再支持7.0应用程序。