导出 (0) 打印
全部展开
信息
您所需的主题如下所示。但此主题未包含在此库中。

Windows Phone 8 的应用内存限制

2014/6/18

仅适用于:Windows Phone 8 和 Windows Phone Silverlight 8.1

我们设计了 Windows Phone 8 以帮助您将您的应用发布到最广泛的潜在市场。若要帮助您完成此操作,当您为 低内存设备(这通常指内存少于或等于 512 MB 的手机)设计应用时,您可以使用可能在具有更高内存手机上使用的任何 Windows Phone 8 功能。然而,每个 Windows Phone 8 应用都有默认的可使用内存量上限,以确保手机上运行的所有任务都具有良好的用户体验。若要在所有手机上保持高质量的应用体验,您可以为您的应用请求更高的内存上限,或者您可以选择使您的应用不可在 低内存设备 上安装。在此处,您可以了解 Windows Phone 8 应用的内存限制、如何为您的应用请求更高的内存限制,以及如何选择使您的应用不可在 低内存设备 上安装。

本主题包括以下部分。

对应用施加的默认内存上限的大小由应用类型以及设备的内存大小确定。可以请求的更高内存上限的大小仅由设备的内存大小确定。通常,对于 Windows Phone 8,具有 512 MB 内存的手机被视为 低内存设备,但此大小因设备的不同而发生变化。例如,如果手机拥有高分辨率的相机,就应用用途而言,该手机将被视为低内存设备。下表列出了这些类别中的默认内存上限和更高内存上限。

限制类型

应用类型

低内存手机

1 GB 手机

2 GB 手机

默认值

XNA 或 本机

150 MB

150 MB

150 MB

默认值

XAML/.NET(不包括 XNA)

150 MB

300 MB

300 MB

更高

所有应用类型

180 MB

380 MB

570 MB

若要使用上表中介绍的内存限制,2 GB 手机还必须具有 Windows Phone 8 Update 3(即版本 8.0.10492 或更高版本)。

您可以通过使用 DeviceExtendedProperties.GetValue(String) 方法检查 ApplicationWorkingSetLimit 值,借此检查应用可用的内存限制。有关如何执行此操作的示例,请参见如何禁用 Windows Phone 8 低内存手机的应用中的功能

尽管为获取最佳的市场覆盖,对于低内存的手机,您应该将应用设计为使用默认的内存上限,但是您也可以请求更多的内存或者选择完全退出低内存的手机。如果您希望应用对所有手机都可用(但这同时可能会因占用更多内存而影响其他手机任务),您必须将 FunctionalCapability 条目添加到应用清单文件。要退出 低内存设备,您必须将 Requirements 条目添加到清单。

下表列出了您在应用清单文件中使用的条目,它们能够影响应用的内存限制。

清单条目

描述

结果

ID_FUNCCAP_EXTEND_MEM

不退出低内存的设备(安装在所有设备上),但是已获得了更高的内存分配,而不是默认的低级别内存。

按手机类型强制实施最大的内存限制:低内存手机为 180 MB;> 1 GB 内存的手机为 380 MB。

ID_REQ_MEMORY_300

对于低内存的手机,则选择完全退出。

应用不会出现在低内存手机的 Windows Phone 应用商店 中,并且它无法安装在低内存手机上。

必须手动将这些条目添加到清单文件中,并且它们不会显示在清单编辑器工具中。

FunctionalCapability 元素是 FunctionalCapabilities 元素的子元素,而后者又是 App 元素的子元素。应该将 FunctionalCapabilities 元素添加到 App 元素的其他子元素后面,包括 Requirements 元素(如果两者都存在),否则清单将无效。下面是 FunctionalCapabilities 元素的一个示例。

<App><Requirements>
    <Requirement Name="ID_REQ_FRONTCAMERA"/>
  </Requirements>
  <FunctionalCapabilities>
    <FunctionalCapability Name="ID_FUNCCAP_EXTEND_MEM"/>
  </FunctionalCapabilities>
</App>

Requirement 元素是 Requirements 元素的子元素,而后者又是 App 元素的子元素。Requirements 元素应该列在 App 元素的其他元素后面,但是在 FunctionalCapabilities 元素前面(如果两者都存在)。下面是 Requirements 元素的一个示例。

<App><Requirements>
      <Requirement Name="ID_REQ_FRONTCAMERA" />
      <Requirement Name="ID_REQ_MEMORY_300" />
  </Requirements>
</App>

有关如何编辑清单文件的更多信息,请参见如何修改 Windows Phone 的应用清单文件

有关应用清单文件和应用功能和要求的更多信息,请参见 Windows Phone 的应用清单文件Windows Phone 应用的功能和硬件要求。有关检测应用的可用内存量的更多信息,以及如何禁用应用中的功能以满足内存限制的信息,请参见如何禁用 Windows Phone 8 低内存手机的应用中的功能

Microsoft 正在进行一项网上调查,以了解您对 MSDN 网站的意见。 如果您选择参加,我们将会在您离开 MSDN 网站时向您显示该网上调查。

是否要参加?
显示:
© 2014 Microsoft