信息
您所需的主题如下所示。但此主题未包含在此库中。

Windows Phone SDK 8.0 中的新增功能

2014/6/18

欢迎使用 Windows Phone SDK 8.0。Windows Phone 8 可向应用开发人员提供大量新增和更新功能,包括本地游戏开发、Windows 运行时 的手机特定版本和新内核。我们编写了本介绍以帮助您了解 Windows Phone 8 和 Windows Phone SDK 8.0 中的新功能和更新功能。对于您拥有的 SDK 中的工具,我们感到非常自豪。这些工具能够帮助您创建让用户更有理由喜爱他们的 Windows Phone 的 Windows Phone 应用。我们将在此处向您简要介绍您在应用开发中能够使用的功能,以及如何了解这些功能的更多信息。

本主题包括以下部分。

 

Windows Phone SDK 8.0 Update 3 模拟器包将五个新模拟器图像添加到 Windows Phone SDK 8.0 的现有安装中。安装此更新后,您可以测试应用在已安装 Windows Phone 8 Update 3(即,8.0.10492 版或更高版本)的设备上的运行方式。此更新需要带有 Update 4 或更高版本的 Visual Studio 2012 或者 Visual Studio 2013。

若要下载更新,请转到 Windows Phone SDK 8.0 Update 3 模拟器

Windows Phone 8 Update 3(8.0.10492 版及更高版本)包括以下用于应用开发人员的新功能或已更改的功能。

重要说明重要说明:

应用仅可在安装了 Windows Phone 8 Update 3 的设备上使用这些功能。通常需要代码中的条件逻辑以测试某个设备是否具有 Windows Phone 8 Update 3。请参见本节后面的代码示例。

  • 支持具有 1080p 显示分辨率的设备。有关更多信息,请参见利用大屏幕 Windows PhoneWindows Phone 8 的多分辨率应用

  • 提高了应用的内存上限。在 2 GB 手机上,带有 Windows Phone 8 Update 3 的应用的最大可用内存为 570 MB。有关内存上限的更多信息,请参见 Windows Phone 8 的应用内存限制

  • 提高了后台音频应用的内存上限。在具有 1 GB 内存的设备上,后台音频应用的内存上限已从 20 MB 提高到 25 MB。有关后台音频应用的更多信息,请参见 Windows Phone 8 的后台音频概述

  • 其他设置的新 URI 方案。提供用于显示“节电模式”设置页面或“屏幕旋转”设置页面的新 URI 方案。(“屏幕旋转”设置页面也是 Windows Phone 8 Update 3 中的新页面。)有关更多信息,请参见用于启动 Windows Phone 8 内置应用的 URI 方案

  • 应用图标的其他用途。在任务切换器中,应用图标和应用标题现在均与应用的最后一个活动页面的屏幕快照一起显示。

  • Toast 通知的自定义声音。您现在可以使用反射指定 Toast 通知的自定义声音。有关更多信息,请参见 Windows Phone 8 的 Toast

  • 与推送通知相关的新属性。通过反射提供了一个新布尔属性,即 Windows.Phone.System.Power.PowerManager.PowerSavingModeEnabled。该新属性指示节电模式是否处于打开状态。它补充了现有的 PowerSavingMode 属性,后者指示节电模式是否处于活动状态。当 PowerSavingModeEnabledtrue 时,应用可以警告用户不会收到推送通知。有关更多信息,请参见设置您的应用以接收 Windows Phone 8 的推送通知

  • 设备宽度的行为已发生改变。与视区设置一起使用时,“WebBrowser”控件和 Internet Explorer 中的 device-width 的行为已发生改变。有关更多信息,请参见 Windows Phone 8 的 Web 开发

  • Toast 通知的行为已发生改变。现在,如果目标应用在前台运行,但被其他活动(例如拨打电话或锁定屏幕)遮盖,则将显示 Toast 通知。之前,当目标应用已在前台运行时,不显示 Toast 通知,即使该应用被遮盖也是如此。

有关 Windows Phone 8 Update 3 中用于应用开发人员的新功能和已更改的功能的更多信息,请参见 Windows Phone 开发人员博客上的以下帖子:介绍面向开发人员的 Windows Phone Preview

您可以使用以下代码测试设备是否具有 Windows Phone 8 Update 3。

private static Version TargetedVersion = new Version(8, 0, 10492);
public static bool IsTargetedVersion
{
    get { return Environment.OSVersion.Version >= TargetedVersion; }
}

适用于 Windows Phone 8.0.10322 的 Windows Phone SDK 8.0 更新为 Windows Phone SDK 8.0 的现有安装添加了四个新的模拟器图像。 安装此更新后,您可以测试应用在具有 Windows Phone 8 8.0.10322 版或更高版本的设备上的运行方式。此更新需要带有 Update 4 或更高版本的 Visual Studio 2012 或者 Visual Studio 2013。

要下载此更新,请转到适用于 Windows Phone 8.0.10322 的 SDK 8.0 更新.。

Visual Studio 2012 Update 3 安装了修补程序以防止您在 Windows 8.1 Preview 上安装和运行 Windows Phone 8 模拟器 时出现潜在的兼容性问题。

Visual Studio 2012 Update 3 是最新的更新,并且是包含在早期 Visual Studio 2012 更新中发布的功能的累积更新。

要下载此更新,请转到 Visual Studio 2012 Update 3

Visual Studio 2012 Update 2 为 Windows Phone 应用安装了以下新功能。

  • 针对 Windows Phone 应用的单元测试。 为 Windows Phone 应用创建单元测试项目,并从测试资源管理器运行这些测试。有关更多信息,请参见针对 Windows Phone 应用的单元测试

  • 命令行部署。在命令提示符下部署 Windows Phone 应用。您还可以从脚本或自定义应用部署应用。有关更多信息,请参见如何部署和运行 Windows Phone 8 的应用

  • 公司应用的命令行预编译和签名。当您使用 Microsoft Build Engine (MSBuild) 构建公司应用时,在命令提示符下为其预编译并签名。您还可以从脚本或自定义应用构建、预编译应用并为其签名。有关更多信息,请参见准备用于分发的 Windows Phone 企业应用

要获取原来在 Visual Studio 2012 Update 2 中发布的功能,请下载 Visual Studio 2012 Update 3。这是包含在早期 Visual Studio 2012 更新(包括 Visual Studio 2012 Update 2)中发布的功能的累积更新。

适用于 Visual Studio 2012 的多语言应用工具包 可以提供与 Visual Studio 集成的翻译支持、翻译文件管理和编辑器工具,从而帮助您本地化 Windows Phone 应用。要了解关于 多语言应用工具包 的更多信息,请观看短片多语言应用工具包介绍

要下载该工具包,请转到适用于 Visual Studio 2012 的多语言应用工具包

在面向 Windows Phone OS 7.1 的应用中,您可以通过 面向 Windows Phone 7.8 的 Windows Phone SDK 更新 使用小型、中型与宽磁贴提供 Windows Phone 8“开始”屏幕体验。有关更多信息,请参见将 Windows Phone 8 和 Windows Phone 7.8 磁贴功能添加到 Windows Phone OS 7.1 应用

您还可以测试如何在具有新型模拟器 7.8 与模拟器 7.8 256 MB 部署选项的 Windows Phone 7.8 设备上运行应用和游戏。

要下载 SDK 更新,请转到适用于 Windows Phone 7.8 的 Windows Phone SDK 更新

Windows Phone SDK 8.0 包括以下用于开发、调试和测试应用的新工具和功能。

开发工具和功能

Visual Studio  包括以下新功能。

  • Direct3D 应用的项目模板。有关项目模板的更多信息,请参见如何从 Windows Phone 8 的模板创建新的应用项目。有关 Direct3D 应用的更多信息,请参见本主题中的 Direct3D 和游戏部分。

  • 项目模板中增强的本地化支持。项目模板现在包括对本地化的内置支持。您可以轻松地开始使用最佳做法以开发本地化应用,无需执行大量的配置步骤。有关更多信息,请参见如何生成 Windows Phone 8 的本地化应用

  • 调试托管或本机代码。在项目设计器的“调试”页上,您可以选择是调试您的应用的托管代码还是本机代码部分。如果您的应用与后台代理通信,您还可以选择是单独调试后台代理的托管代码还是本机代码部分。您可以在同一调试会话中,同时调试应用和后台代理。

  • 调试从磁贴或通知启动的应用。现在您也可以在应用从磁贴或推送通知启动时调试面向 Windows Phone 8 的应用,而不是只在应用直接启动时进行调试。当您启动在 Windows Phone 8 模拟器 或 Windows Phone 8 设备上进行调试的应用时,请单击“返回”按钮退出应用;调试器仍保持连接。通过磁贴或推送通知再次启动应用后,您可以继续调试该应用。有关更多信息,请参见调试 Windows Phone 8 的应用

  • XNA Framework 支持。您可以开发在 Windows Phone 8 上运行的 XNA Framework 应用。若要执行此操作,您必须将目标设置为 Windows Phone OS 7.1。有关更多信息,请参见 XNA Framework 和 Windows Phone 8 的应用开发

Windows Phone 8 模拟器  包括以下新功能。

  • 支持多种分辨率。模拟器图像适用于 Windows Phone 8 中支持的三种分辨率中的每一种。有关更多信息,请参见 Windows Phone 8 的多分辨率应用

  • Windows Phone 8 模拟器 的系统要求。Windows Phone 8 模拟器 在 Windows Hyper-V 上运行并拥有与 Hyper-V 相同的硬件、软件和配置要求。即使您的计算机不支持 Hyper-V,您仍可以为 Windows Phone 8 开发应用并在 Windows Phone 8 设备上进行调试与测试。有关更多信息,请参见 Windows Phone 8 模拟器的系统要求

  • Windows Phone 8 模拟器 上的网络。Windows Phone OS 7.1 模拟器使用开发计算机的网络连接。但是,Windows Phone 8 模拟器 将在网络上作为独立设备对其本身进行配置。有关此更改的影响的更多信息,请参见 Windows Phone 8 的 Windows Phone 模拟器

清单设计器。现在,您可以通过用户友好的用户界面在应用清单中添加、移除和更改元素。有关更多信息,请参见如何修改 Windows Phone 8 的应用清单文件

“独立存储资源管理器”具有新的命令行选项,使您能够指定目标设备。有关更多信息,请参见如何使用 Windows Phone 8 的独立存储资源管理器工具

测试工具和功能

测试应用的本机图像。在用户将要进行体验时,您可以测试应用的本机映像以体验其性能。有关更多信息,请参见在 Windows Phone 中如何测试应用的零售版本

应用监视和分析。Windows Phone 应用分析(以前称为“Windows Phone 性能分析”)现在除应用分析外,还包括了应用监视。应用监视功能能够为应用捕获从质量角度来讲相关的关键指标,然后根据这些指标对您的应用进行评级。该功能的指导原则是帮助您在开发应用期间(而不是在之后)确保应用质量和性能。有关更多信息,请参见 Windows Phone 的监视分析

模拟仪表板。可以使用 Windows Phone 8 中的模拟仪表板提前确定应用将如何应对实际条件。借助该信息,您可以调整应用以确保它能够在各种实际条件下正常运行,并确保您的用户将对该应用感到满意。

可以使用模拟仪表板测试应用将如何应对以下条件:

  • 低带宽连接或较差信号

  • 中断,例如提醒或通知

  • 锁定屏幕

有关更多信息,请参见 Windows Phone 的模拟面板

屏幕快照。现在,您可以通过使用特殊的组合键捕获在物理手机上运行的应用的屏幕快照。有关更多信息,请参见如何为 Windows Phone 商店创建屏幕快照

应用商店测试工具包。商城测试工具包被重命名为 应用商店测试工具包。功能验证测试不适用于面向 Windows Phone 8 的应用。

Windows Phone 8 包括新的磁贴大小和新的磁贴模板,它们在以下类中可用:

有关 Windows Phone 8 中新磁贴的更多信息,请参见 Windows Phone 8 的磁贴

在 Windows Phone 8 中,用户可以将应用用作锁定屏幕背景图像提供程序,并选择将您的应用包含在锁定屏幕通知区域。有关使用 Windows Phone 8 应用中新增的锁定屏幕功能的更多信息,请参见 Windows Phone 8 的锁屏界面通知Windows Phone 8 的锁屏界面背景

地图

Windows Phone 8 提供了一个新的地图控件,该控件可通过以下命名空间获得:

有关新地图控件的更多信息,请参见 Windows Phone 8 地图和导航

若想获得有用的地图 API 扩展(包括图钉),请下载 Windows Phone 工具包

导航

在 Windows Phone 8 中,您可以将导航协议与 ms-drive-toms-walk-to URI 方案结合使用,以编写请求行车或步行路线的应用,或编写处理行车或步行路线的请求的应用。有关更多信息,请参见如何为 Windows Phone 8 请求行车或步行路线以及如何响应 Windows Phone 8 的路线请求

Windows Phone 8 提供新的基于 Windows Phone 运行时 的 API 集合,用于获取手机的当前位置。现有的 .NET 位置 API 仍受支持。有关新的 API 的更多信息,请参见 Windows Phone 8 的位置

Windows Phone 8 中的另一个新功能是:位置跟踪应用能够在用户离开应用后,继续在后台运行。这样便可启用诸如运行追踪和逐向路线导航应用等方案。

在 Windows Phone 8 中,用户可以使用语音与您的应用进行交互。有关使用 Windows Phone 8 应用中新增的语音功能的更多信息,请参见Windows Phone 8 的语音

Windows Phone 8 引入了电子钱包功能,应用用户可以使用该功能执行以下操作:

  • 从一个位置收集优惠券、信用卡、成员资格、会员卡和更多信息。

  • 管理用户在应用和音乐商店中使用的支付方式。

  • 将电子钱包中的商品链接到他们手机上的应用。

  • 在某些市场中使用近距离无线通信 (NFC) 进行非接触式交易。

通过与用户的Wallet 商品集成,Wallet 可给予应用开发人员向用户提供更为丰富的经验的能力。使用 Wallet 命名空间提供的功能,您可以从您的应用创建、读取、编写和删除Wallet 商品。在 Windows Phone 8 Wallet 体验中,您可以使用代理和使用状态消息和自定义字段与用户进行交互来将商品保持为最新。Wallet 集成是附加的功能,它可以使您通过在其他新型图面上与客户交流的方式,实现与客户更好的沟通。此外,Wallet 商品还允许用户深层链接到您的应用,以方便您提供更多有意义的应用内体验。有关 Windows Phone 8 中Wallet 的更多信息,请参见 Windows Phone 8 的电子钱包

Windows Phone 8 支持 WVGA、WXGA、720p 和 1080p 设备。下表列出了这些新分辨率。所有这些分辨率在 Windows Phone 8 模拟器 中都受支持。

解决

纵横比

按比例缩放的分辨率

WVGA

480 × 800

15:9

480 × 800

WXGA

768 × 1280

15:9

480 × 800

720p

720 × 1280

16:9

480 × 853

1080p

1080 × 1920

16:9

480 × 853

有关 Windows Phone 8 Update 3 中支持多分辨率的更多信息,请参见 Windows Phone 8 的多分辨率应用

除本机开发外,Direct3D 还被添加到了 Windows Phone 技术系列中。这意味着,这是第一次基于 Direct3D 的 PC 游戏能够与手机版本共享其大部分的基本代码,并且开发人员能够使用最先进的中间件工具和游戏行业中拥有最高荣誉的引擎,为 Windows Phone 开发游戏。

Direct3D 应用是指那些完全以本机代码编写并在其 UI 中仅使用 Direct3D 的应用。此类型的应用使用与托管的应用完全不同的应用模式,且它无法使用托管的应用中的许多功能(例如,活动磁贴和推送通知)。但是,在 Windows Phone 8 中,许多新功能已被添加到 Direct3D 应用,以提供软件键盘输入支持、设备主题、屏幕分辨率检测,以及用于将许多常见手机任务添加到 Windows Phone 应用的启动器和选择器的集合。有关可用于此应用类型的本机 Direct3D 应用模型和功能的更多信息,请参见 Windows Phone 8 的 Direct3D 应用开发

您还可以使用 DrawingSurfaceDrawingSurfaceBackgroundGrid 控件将 DirectX 图形合并到托管的应用中,以在性能损失非常小的情况下利用托管的代码功能。Windows Phone 8 支持 9_3 功能级别的 DirectX 库的子集。有关 Direct3D 功能支持和兼容性的信息,请参见 Windows Phone 8 的 Direct3D。有关从托管的应用使用 Direct3D 的信息,请参见 Windows Phone 8 的 XAML 和 Direct3D 应用

除了 Direct3D 图形支持外,您也可以访问用于播放和捕获音频和视频的 Microsoft Media Foundation API。此外,本地音频库、XAudio2 和 WASAPI 现在也在手机上受支持。有关更多信息,请参见 演练:对 Windows Phone 8 使用 Microsoft 媒体基础Windows Phone 8 的本机音频 API

Windows Phone 8 支持两种不同的应用模型,这两种模型可用作应用的基础。

XAML

XAML 是一种说明性语言,您可以用其创建用户界面元素,如控件、形状和文本。XAML 应用开发主要供 C# 和 Visual Basic 开发人员构建通用应用。使用这些方法编写的现有 Windows Phone 应用与 Windows Phone 8 完全兼容。基于 XAML 的应用获得了新的功能,例如,新的控件和自动缩放至高分辨率。通过将 C++ 代码加入到 Windows 运行时 组件中,XAML 应用可重复使用 C++ 代码。新的项目模板允许您将 Direct3D 图形整合到 XAML 应用中。有关更多信息,请参见 Windows Phone 8 的用户界面

Direct3D

Direct3D 应用开发是一种对希望借助 Direct3D 图形功能的开发人员有吸引力的选择。该应用主要供 C++ 开发人员构建要求高性能的游戏。有关更多信息,请参见 Windows Phone 8 的游戏Windows Phone 8 的 Direct3D 应用开发

HTML

在 Windows Phone 8 中,基于 HTML 的手机应用不是受支持的应用模型。但是,开发人员可以使用 XAML 前端(该前端使用嵌入式浏览器控件显示本地 HTML 内容)创建托管的应用,并且可以使用 InvokeScript 方法和 ScriptNotify 事件访问手机 API。此外,在 Windows Phone 8 中,手机的浏览器已升级至 Internet Explorer Mobile 10,它承载了大量的新功能(如,可靠的 HTML5/CSS3 实现、可缩放的向量图形 (SVG)、ES5、IndexedDB 和笔势事件)并附加了高性能的脚本引擎,从而向 Windows Phone 8 HTML 开发人员提供全新且有趣的无限可能。

有关使用 Internet Explorer Mobile 10 进行开发的更多信息,请参见 Internet Explorer 10 开发人员指南

Windows Phone 8 引入了镜头、向 Web 服务自动上载照片的功能、扩展照片体验的新方法以及 Windows Phone 运行时 中的高级捕获 API。此版本还包括了处理照片的增强功能。

镜头

在 Windows Phone 8 中,您可以创建一个在 Windows Phone 内置相机应用中显示的名为“镜头”的相机应用。镜头可向用户提供应用取景器的一致入口点。镜头功能是一种扩展类型功能,用于通过相机 API 提供唯一相机功能的应用。作为镜头,应用可使用户获得取景器体验并直接与相机进行交互。有关更多信息,请参见 Windows Phone 8 的滤镜

处理照片

已经为 Picture 类添加了新的扩展方法 ,这包括 GetPreviewImageGetPath。使用 GetPreviewImage 可帮助改进在屏幕上显示照片的性能。此方法将以最适合用户手机的分辨率(WVGA、WXGA 或 720p)返回照片。GetPath 方法将返回媒体库中图像的完整路径;您可以使用此路径唯一地标识照片。要使用这些方法,请向 Microsoft.Xna.Framework.Media.PhoneExtensions 添加一个指令。

已添加了新的启动器 ShareMediaTask。通过 ShareMediaTask 类,应用可以直接访问共享选取器,因此用户可以像使用内置照片查看器时那样共享照片。有关更多信息,请参见如何使用 Windows Phone 8 的共享媒体任务

此外,PhotoChooserTask 任务现在将返回对用户更加友好的文件名。在事件处理程序中,OriginalFileName 属性将返回照片的实际文件名。有关更多信息,请参见如何使用 Windows Phone 8 的照片选取器任务

照片可扩展性

Windows Phone 8 引入了新方法来扩展 Windows Phone 中的照片体验。除扩展照片中心、照片应用选取器和共享选取器外,应用现在可以集成照片编辑选取器或注册成为丰富的媒体编辑器。有关更多信息,请参见 Windows Phone 8 的照片可扩展性

自动上载

在 Windows Phone 8 中,通过使用资源密集型的后台代理,应用可自动将照片上载到照片存储服务。通过将应用注册为自动上载的应用,您的后台代理可持续运行且无过期时间。有关更多信息,请参见 Windows Phone 8 自动上传应用

高级捕获 API

对于要求精确控制相机的应用,Windows Phone 运行时 包括了 Windows.Phone.Media.Capture 命名空间中的高级捕获 API。使用 PhotoCaptureDevice 类控制照片属性(例如 ISO、白平衡和曝光)。您甚至还能以编程方式调整对焦位置。AudioVideoCaptureDevice 类为视频和音频录制提供相同级别的控件。有关高级捕获 API 的更多信息,请参见为 Windows Phone 8 拍摄照片为 Windows Phone 8 拍摄视频

除了这些 API,Windows Phone 8 还提供了一组专用于本机代码的接口。这些接口提供对未压缩照片数据和编码音频/视频示例的访问。还有一种方法允许您使用当前预览帧填充 Direct3D 2-D 纹理。有关更多信息,请参见本机代码的相机 API (Windows Phone 8)

音乐媒体库

在 Windows Phone 8 中,您可以使用扩展 MediaLibrary 类的 SaveSongDelete 方法从用户的音乐集中添加和删除音乐文件。此新增的 API 位于程序集 Microsoft.Xna.Framework.MediaLibraryExtensions.dll 的 Microsoft.Xna.Framework.Media.PhoneExtensions 命名空间中。

图片媒体库

在 Windows Phone 8 中,对于保存在手机上的每幅图片,将自动创建以下两种缩略图像,并且应用也可以检索它们。

  • 小缩略图。可以使用 Picture 类的 GetThumbnail 方法检索此缩略图。

  • 预览图像具有与手机屏幕相同的尺寸。可以使用 Picture 类的新增的 GetPreviewImage 扩展方法检索此预览图像。

可以使用 Picture 类的新增 GetPath 扩展方法获取此图片的路径。当用户想要分享图片时,使用此方法为 ShareMediaTaskFilePath 属性提供一个值。

此新增的 API 可以在程序集 Microsoft.Xna.Framework.MediaLibraryExtensions.dll 的 Microsoft.Xna.Framework.Media.PhoneExtensions 命名空间中找到。

后台音频

在 Windows Phone 8 中,当 BackgroundAudioPlayer 的状态更改时,您可以从 PlayStateChangedEventArgs 中捕获有关状态转换的信息。您可以确定在音频播放器进入当前播放状态之前发生的 CurrentPlayStateIntermediatePlayState

下面是一些状态转换的示例,您可以根据新事件参数提供的信息来处理它们:

有关后台音频的更多信息,请参见 Windows Phone 8 的后台音频概述

控件

Windows Phone 8 具有以下新控件:

  • Windows Phone 8 包括一个 LongListSelector 控件,您可以使用它分组、显示或滚动浏览较长的数据列表。它还向用户提供了跳至列表指定部分的机制。

  • 在 Windows Phone 8 中,PivotPanorama 控件已从 SDK 中删除,现在都位于手机的只读内存 (ROM) 中。通过此方法,您的应用可以使用单独的本机输入线程,这意味着这些控件的输入响应速度的极大提高。Panorama 控件的工作集内存也将减少。

  • WebBrowser 控件现在基于可提供 HTML5 和扩展的 CSS 支持以实现更丰富的浏览器内部体验的 Internet Explorer 10。

  • ProgressBar 控件的性能得到了改进。您应该使用此控件报告基于值或不确定的进度。

启动器

您可以在 Windows Phone 8 应用中使用启动器来帮助用户执行常见任务。以下启动器是 Windows Phone 8 中新增启动器。

有关 Windows Phone 8 中新增启动器的更多信息,请参见 Windows Phone 8 的启动器

VoIP

借助 Windows Phone 8,您可以创建 IP 语音 (VoIP) 应用,以使用户能够通过他们的数据连接进行音频和视频呼叫。VoIP 应用已集成到内置的手机应用中,因此举例来说,它将使用与常规手机呼叫相同的手机 UI,显示传入呼叫。有关更多信息,请参见 Windows Phone 8 的 VoIP 应用

蓝牙

蓝牙是一种无线的通信技术,位于 10 米距离之内的设备可以使用蓝牙互相通信。您可以使用 Windows Phone 8 中引入的新蓝牙 API 以创建能够利用蓝牙技术与其他手机通信的应用。Windows Phone 8 的核心蓝牙方案包括应用到应用以及应用到设备的通信,还提供了更多应用连接方法。有关更多信息,请参见 Windows Phone 8 的蓝牙

邻近感应

Windows Phone 8 引入了新的 API,即邻近感应 API;您可以使用它创建可执行以下操作的应用:

  • 使用 NFC 在设备之间发送数据。

  • 使用手机与 NFC 标记进行交互。

  • 在应用和邻近设备上的应用的实例之间建立 Wi-Fi 或蓝牙连接。

在都拥有近距离无线通信 (NFC) 芯片的两部手机上,应用用户只需要一起点击他们的手机即可执行这些方案。

有关邻近感应的更多信息,请参见 Windows Phone 8 的邻近感应。Windows Phone 8 上的邻近感应也可以使用蓝牙技术启用应用到应用的连接。有关 Windows Phone 8 的蓝牙的更多信息,请参见 Windows Phone 8 的蓝牙

传入套接字

Windows Phone 8 为传入套接字引入了增强功能。System.Net.SocketsWindows.Networking.Sockets 都支持传入套接字,这意味着您的应用可以侦听传入网络连接,然后绑定到该连接。

对 IPv6 的支持

对网络上设备的 128 位寻址系统的支持已添加到 System.Net.Sockets 中,并且该系统也在 Windows.Networking.Sockets 中受支持。

Windows.Net.Networking

已对 Windows Phone 8 采用了 Windows 运行时 API,即 Windows.Networking.Sockets。已将它实现为 Windows Phone 运行时 API,因此它在任意您所选的受支持的编程语言中都易于使用。尽管我们已经增强了 .NET API,即 System.Net.Sockets 来支持诸如 IPv6 和侦听套接字等更多功能,但您应考虑对套接字编程使用新的 API,因为它的可移植性比 .NET API 更强。我们已经从头开始生成了 Windows.Networking.Sockets,使其成为了用于执行最佳实践的清洁、安全和易于使用的 API。有关受支持的 Windows 运行时 API 的更多信息,请参见 Windows Phone 运行时 API

Winsock 本地 API 支持

Winsock 本地 API 在 Windows Phone 8 中受支持。使用 Winsock API 的一个主要优点是:您可以重新使用已使用 Winsock 实现的自定义网络功能,因此您可以更容易地在 Windows Phone OS 8.0 平台上创建应用。有关 Winsock 本地 API 支持的更多信息,请参见 Windows Phone 8 支持的 Win32 API

数据感知

Windows Phone 8 引入了新的数据感测功能,您可使用该功能来帮助应用用户通过维持在数据计划的限制内来节省支出。在数据感测功能中,用户可以指定数据计划的限制,随后“数据感测”将根据这些限制监视数据的使用情况。借助这些信息,应用可在用户接近其数据限制时通过降低数据使用,或在用户超过数据限制时通过停止数据使用来帮助用户节省支出。

有关 Windows Phone 8 中数据感测的更多信息,请参见在 Windows Phone 8 中如何使用流量感知 API 调整数据使用量

存储

Windows Phone 8 与 Windows 8 结合使用可支持 Windows 运行时 和 Win32 中的存储 API 的子集。此版本还引入了 Microsoft.Phone.Storage 命名空间,即用于读取 SD 卡的新 .NET API。有关更多信息,请参见 Windows Phone 8 的数据从 Windows Phone 8 的 SD 卡读取

自定义联系人存储

您可以设计 Windows Phone 8 应用,以创建专属于应用但在内置手机体验中可见的联系人集合。API 可用于创建、更新、删除和查询应用的联系人,以及用于将应用的联系人列表与由应用的云服务维护的远程列表同步。有关更多信息,请参见 Windows Phone 8 的自定义联系人存储

文件和 URI 关联

当另一个应用启动特殊的文件类型或 URI 方案时,您可以使用 Windows Phone 8 中的文件和 URI 关联自动启动您的应用。例如,文件关联允许启动您的应用以处理电子邮件附件。您也可以使用关联启动 API,以根据特定的文件类型或 URI 方案启动另一个应用。有关更多信息,请参见 使用 Windows Phone 8 的文件和 URI 关联自动启动应用

搜索扩展性

当您扩展 Windows Phone 8 中的搜索体验时,快速卡会将更多信息传递到您的应用。还有一种用于事件的新型快速卡,即事件卡。在下表中已对这些更改进行了总结。

快速卡

新的 URI 参数

地点卡

PhoneNumber

电影卡

ReleaseDate

事件卡(新型快速卡)

EventNameStartDatePlaceNamePlaceLatitudePlaceLongitudePlaceAddress

有关这些参数的更多信息,请参见 Windows Phone 8 的搜索可扩展性

应用内购买

应用内购买允许开发人员创建能够通过出售虚拟产品获取实际收益的应用或游戏。Microsoft 服务器托管可通过应用内购买购买到的目录产品,其中包括价格和描述性元数据。Microsoft 还提供了一种商业基础架构,包括用户可在全世界 190 个地区使用的支付方式。

对于可通过应用内购买购买到的每件产品,开发人员在 Windows Phone 开发人员中心 中输入描述以及用户可进行应用内购买的每个地区的产品价格。通过使用 Windows Phone 8 中的 API,开发人员可以在应用中列出用户可以在该应用内购买的产品。开发人员无需为处理不同类型的购买设备编写特殊的代码。用户可用于购买应用和游戏的方法也适用于应用内购买。应用或游戏必须承载和提供与应用内产品相关的任何内容。有关更多信息,请参见 Windows Phone 8 的应用内购买

借助 Windows Phone 8,生成应用并将其部署到已在您企业注册的手机上将更为容易。有关在您的企业中注册手机并将应用部署到这些手机上的过程的信息,请参见 Windows Phone 的企业应用分发

在 Windows Phone 8 中,您可以创建从右至左读取的应用和使用双向语言的应用。有关使用 Windows Phone 8 中新增的本地化和全球化功能的更多信息,请参见创建 Windows Phone 8 的双向应用

现在,您能够为应用域定义默认区域性。有关更多信息,请参见 CultureInfo 类。

已将新增功能添加到应用清单文件,以支持诸如蓝牙和近距离无线通信 (NFC) 等新功能。您也可以使用“要求”部分指定您的应用要求的硬件,以确保应用由拥有能够成功运行该应用的手机的用户进行下载和安装。有关 Windows Phone 8 中新增功能和硬件要求的信息,请参见 Windows Phone 8 应用功能和硬件要求

此外,使用内置于 Visual Studio 中的“清单编辑器”工具编辑清单文件现在也更为容易。有关如何编辑应用清单文件的更多信息,请参见如何修改 Windows Phone 8 的应用清单文件

Windows Phone 8 引入了一些 API,它们的工作方式不同于在 Windows Phone OS 7.1 应用中时的工作方式。有关这些差异以及会在您准备开发应用时造成的影响的更多信息,请参见 Windows Phone 8 的应用平台兼容性

在大多数情况下,如果 API 在 Windows Phone 8 中和 Windows Phone 中有不同的行为方式 ,则表示该 API 是突发的。也就是说,对于面向 Windows Phone OS 7.1 的应用,该 API 像其在 Windows Phone OS 7.1 中那样自动工作。而对于面向 Windows Phone 8 的应用,该 API 的工作方式会有所不同。有关更多信息,请参见 Windows Phone 8 的应用平台兼容性中的“.NET Framework 中的突发模式行为”。

Windows Phone 8 中的公共语言运行时提供下列新功能,并在下列几个方面与 Windows Phone 不同:

代码生成

  • 为增强启动性能,Windows Phone 8 在云中使用一种新的编译应用的策略。为了要确保开发人员能够像在应用用户设备上运行应用一样执行他们的应用,需要提供相应的工具作为 Windows Phone SDK 8.0 的一部分。

  • Windows Phone 8 中的内联支持已改进;手动内联代码不再是必需的。

  • 已优化通过 JIT 编译器生成的代码。

线程

  • .NET Framework 可以识别多核。应用可以创建线程并使用 ThreadPool 类、任务并行库和所有同步基元以利用多核。

  • 对多核的支持可能会导致 API(如 Thread.Sleep)有不同的表现。

安全模型

  • 已移除托管的沙盒。因此,在 Windows Phone OS 7.1 中引发的安全异常(如 MethodAccessException)可能不会在 Windows Phone 8 中引发。

垃圾回收

  • Windows Phone 8 中的垃圾回收堆只有三代版本,而不是像在 Windows Phone OS 7.1 中那样有两代版本。

  • 在 Windows Phone 8 中,垃圾回收器具有大对象堆 (LOH)。

  • 在 Windows Phone 8 中,后台垃圾回收不可用。

  • 当应用接近内存上限时,手机资源管理器将调用垃圾回收,并且若应用超过内存上限,将终止应用。

  • 应用的强制垃圾回收会影响运行时的自动调整垃圾回收触发。

  • 在 Windows Phone 8 中,垃圾回收器分配的每个线程的性能得到了改进。

可移植类库

  • Visual Studio 2012 中的可移植类库项目使您能够编写和生成在多个 .NET Framework 平台上工作的托管程序集。使用可移植类库项目,选择要面向的平台(例如,用于 Windows 应用商店 应用的 Windows Phone 8 和 .NET)。您的项目中的可用类型和成员在这些平台中自动限制为常用类型和成员。

  • 面向 Windows Phone OS 7.1 和 Windows Phone 8 的可移植类库可以在 Windows Phone 8 上使用。请注意,面向 Windows Phone OS 7.1 但却在 Windows Phone 8 上运行的可移植类库将作为 Windows Phone 8 应用运行。有关更多信息,请参见使用 .NET Framework 的跨平台开发

Interop

  • 应用可以从托管代码中调用第一方 Windows 运行时 API。

  • COM interop 和 P/Invoke 都不受支持。

常规性能

  • 在 Windows Phone 8 中,使用 System.Threading.Tasks 命名空间中的类型的异步和并行操作的性能已得到改进。此外,流类目前包括异步方法以利用添加到 C# 和 Visual Basic 语言的异步功能。有关更多信息,请参见 .NET Framework 版本 4.5 文档中的异步文件 I/O

  • 在 Windows Phone 8 中调用的虚拟的性能已得到改进。

  • 快速应用切换的实现在 Windows Phone 8 中已得到改进。离开活动应用程序时,其托管代码执行将暂停。一旦应用程序暂停,公共语言运行时将保证 0 CPU 使用率,并虚拟化所有的应用程序的超时。

显示: