我有一个 Windows Phone Silverlight 8.1 应用,它一直使用ApplicationWorkingSetLimit
来检测高内存和低内存设备。但是在8.1上我发现这个值返回0,而不是app限制。
long result = (long)DeviceExtendedProperties.GetValue("ApplicationWorkingSetLimit");
return result <= 188743680; // 188743680 (180mb) is the maximum a low mem device
因为结果始终为0,所以即使是高端设备也会将其标记为低内存。我已经在8.1模拟器和我的Lumia 920上尝试了这一点并没有区别。我没有任何有效的方法来判断什么是高或低。这是操作系统中的错误吗?
答案 0 :(得分:4)
您可以使用Windows.System.MemoryManager
的AppMemoryUsageLimit
财产。
var limit = Windows.System.MemoryManager.AppMemoryUsageLimit;
// some limit comparison here
以下是不同设备的内存上限:
答案 1 :(得分:0)
要尝试的两件事:
ID_CAP_IDENTITY_DEVICE
功能。文件说你不需要它,但可能会产生影响。