在我们的测试中,memUsageLimit似乎在安装内存和平台的功能上是固定的。对于智能手机(主要是ARM处理器)来说,限制是
185 MB for 512 MB RAM device
390 MB for 1GB RAM device
900 MB for 2GB RAM device对于常规的Windows + Intel平台,我们发现限制大约比物理可用RAM多20%,这可能是由于对磁盘进行分页的能力。
我的问题是关于第一组设备(电话):是否可以更改给定应用程序的内存限制?我们需要处理通过oData V4接收的JSON文档,当使用NewtonSoft处理时,内存消耗是非常显著的:对于每MB纯JSON数据,应用程序进程会以非常线性的方式增加约9MB。
发布于 2015-12-14 15:14:44
Win10 1.586提供了一个新的应用程序接口TrySetAppMemoryUsageLimit,用于设置应用程序的内存限制。但是,根据内部讨论,该API目前仅适用于非常有限的场景,例如移动设备上的VOIP应用。而且这个API的示例代码和文档还没有完全准备好。
我已经在the UWP VOIP sample上测试了这个API,它确实可以工作(我们需要将示例项目的目标设置为10586)。代码如下:
var y = MemoryManager.AppMemoryUsageLimit;
bool result = MemoryManager.TrySetAppMemoryUsageLimit(y+10000);对于您的需求,我们将继续收集有关此功能的反馈。如果有任何强烈的要求,我们将与内部团队沟通。然而,我个人对你的建议是: win store应用程序对应用程序有非常强大的安全政策。实在不建议APP超过内存限制。
https://stackoverflow.com/questions/33892100
复制相似问题