c# - ApplicationWorkingSetLimit 在 Windows Phone Silverlight 8.1 中返回 0

标签 c# windows-phone-8.1

我有一个 Windows Phone Silverlight 8.1 应用程序一直在使用 ApplicationWorkingSetLimit 检测高内存和低内存设备。但是在 8.1 上我发现这个值返回 0,而不是应用限制。

long result = (long)DeviceExtendedProperties.GetValue("ApplicationWorkingSetLimit");
return result <= 188743680; // 188743680 (180mb) is the maximum a low mem device 

因为结果始终为 0,它甚至将高端设备标记为低内存。我已经在 8.1 模拟器和我的 Lumia 920 上试过了,没有任何区别。我没有有效的方法来判断什么是高或低了。这是操作系统中的错误吗?

最佳答案

您可以使用 Windows.System.MemoryManagerAppMemoryUsageLimit属性(property)。

var limit = Windows.System.MemoryManager.AppMemoryUsageLimit;
// some limit comparison here

下面是不同设备的内存上限:

Memory caps for WP 8.1 apps

关于c# - ApplicationWorkingSetLimit 在 Windows Phone Silverlight 8.1 中返回 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26147448/

相关文章:

c# - 使用 Entity Framework 查询许多(~100)个搜索词

c# - Unity 5.6 - C# - 使用 AddComponent<T> 将一个游戏对象添加到另一个游戏对象

c# - 如何在 C# 中修改 Cortana 语音激活命令 (XML)?

c# - 如何调试卡在 Windows Phone 8.1 上的应用程序

c# - 将 .xml 文件读入 XmlDocument

c# - 免费的密码学库

c# - 模型元数据 : How to get "Parent"-Metadata?

javascript - 如何使用 AES-GCM C#.NET 加密() 然后 JS WebCryptoApi 解密()?

c# - 在 Windows Phone 8.1 类库中创建 SQLite 数据库

Windows phone 8.1 上的 ffmpeg 编译问题