欢迎使用 Android 3.1!
Android 3.1 是一个增量平台版本,改进了 Android 3.0 中引入的许多功能。它基于 Android 3.0 中提供的相同针对平板电脑优化的 UI 和功能,并为用户和开发者添加了一些新功能。本文档概述了 Android 3.1 中引入的新功能和技术。有关新开发者 API 的更详细介绍,请参阅API 概述文档。
有关 Android 3.0 的高级介绍,请参阅Android 3.0 平台亮点。
新用户功能
UI 优化
Android 3.1 平台添加了各种优化,使用户界面更直观,使用效率更高。
整个系统和标准应用中的 UI 过渡得到了改进。启动器动画经过优化,可以更快、更流畅地过渡到应用列表和从应用列表过渡。颜色、位置和文本的调整使 UI 元素更容易查看、理解和使用。辅助功能通过整个 UI 中一致的音频反馈以及一项新设置得到了改进,该设置允许用户自定义触摸保持间隔以满足其需求。
现在,在五个主屏幕之间导航变得更容易 - 触摸系统栏中的“主页”按钮现在会将您带到最近使用的主屏幕。设置提供了改进的内部存储视图,显示了更大一组文件类型使用的存储空间。
USB 附件的连接
Android 3.1 为各种 USB 连接外设和附件添加了广泛的平台支持。用户可以连接许多类型的输入设备(键盘、鼠标、游戏控制器)和数码相机。应用程序可以基于平台的 USB 支持来扩展连接到几乎任何类型的 USB 设备。
该平台还添加了对 USB 附件的新支持 - 旨在作为 USB 主机连接到 Android 设备的外部硬件设备。连接附件后,框架将查找相应的应用程序,并为用户提供启动该应用程序的选项。附件还可以向用户显示一个 URL,以便在尚未安装适当的应用程序时下载该应用程序。用户可以与应用程序交互以控制有源附件,例如机器人控制器;扩展坞;诊断和音乐设备;信息亭;读卡器;以及更多。
平台的 USB 功能依赖于设备硬件中的组件,因此特定设备上对 USB 的支持可能会有所不同,并由设备制造商确定。

扩展的“最近使用的应用”列表
为了改进多任务处理并即时直观地访问更多数量的应用,“最近使用的应用”列表现在可以扩展。用户现在可以垂直滚动最近使用的应用列表以查看所有正在进行的任务和最近使用的应用的缩略图图像,然后触摸缩略图以返回到该任务。
可调整大小的主屏幕窗口小部件
为了实现更灵活的主屏幕自定义,用户现在可以使用系统提供的拖动条调整主屏幕窗口小部件的大小。用户可以水平和/或垂直扩展窗口小部件以包含更多内容,具体取决于每个窗口小部件的支持情况。
支持外部键盘和指向设备
用户现在可以将几乎任何类型的外部键盘或鼠标连接到他们的 Android 设备,以创建熟悉的环境并提高工作效率。可以通过 USB 和/或蓝牙 HID 同时将一个或多个输入设备连接到系统,以任何组合方式。在大多数情况下,不需要特殊的配置或驱动程序。连接多个设备时,用户可以使用系统栏中提供的键盘设置方便地管理活动键盘和 IME。
对于指向设备,平台支持大多数带单个按钮和可选滚轮的鼠标类型,以及类似的设备,例如轨迹球。连接这些设备后,用户可以使用点、选择、拖动、滚动、悬停和其他标准操作与 UI 进行交互。
支持操纵杆和游戏手柄
为了使平台更适合游戏,Android 3.1 添加了对通过 USB 或蓝牙 HID 连接的大多数 PC 操纵杆和游戏手柄的支持。
例如,用户可以通过 USB(但不能通过蓝牙)连接 PlayStation®3 和 Xbox 360® 游戏控制器、罗技 Dual Action™ 游戏手柄和飞行摇杆,或赛车控制器。使用专有网络或配对的游戏控制器默认情况下不受支持,但总的来说,平台支持大多数可连接 PC 的操纵杆和游戏手柄。
强大的 Wi-Fi 网络
Android 3.1 添加了强大的 Wi-Fi 功能,以确保用户及其应用能够充分利用家中、工作场所和外出时的更高速 Wi-Fi 访问。
一个新的高性能 Wi-Fi 锁定功能允许应用程序即使在设备屏幕关闭时也能保持高性能 Wi-Fi 连接。用户可以利用此功能长时间播放连续流式传输的音乐、视频和语音服务,即使设备在其他方面处于空闲状态且屏幕已关闭。
用户现在可以通过在“设置”中触摸并按住访问点来为每个单独的 Wi-Fi 访问点配置 HTTP 代理。浏览器在通过访问点与网络通信时使用 HTTP 代理,其他应用也可以选择这样做。该平台还提供用户定义的 IP 和代理设置的备份和还原。
该平台添加了对首选网络卸载 (PNO) 的支持,这是一种后台扫描功能,在 Wi-Fi 需要持续长时间可用时可以节省电池电量。
更新的标准应用集
Android 3.1 平台包含一组更新的标准应用程序,这些应用程序针对在大屏幕设备上使用进行了优化。以下部分重点介绍了一些新功能。

浏览器
浏览器应用包含各种新功能和 UI 改进,使网页内容的查看更加简单、快速和便捷。
快速控制 UI(可从浏览器设置访问)已扩展并重新设计。用户现在可以使用这些控件查看打开标签页的缩略图并关闭活动标签页,以及访问溢出菜单以快速访问设置和其他控件。
为了确保一致的观看体验,浏览器将对流行的 Web 标准(如 CSS 3D、动画和 CSS 固定定位)的支持扩展到所有网站(移动或桌面)。它还增加了对嵌入式 HTML5 视频内容播放的支持。为了更轻松地管理收藏的内容,用户现在可以将网页本地保存以供离线查看,包括所有样式和图像。为方便访问 Google 网站,改进的自动登录 UI 允许用户快速登录并在多个用户共享设备时管理访问权限。
为了获得最佳性能,浏览器添加了对使用硬件加速渲染的插件的支持。页面缩放性能也得到了大幅提升,使网页的导航和查看速度更快。
图库
图库应用现在支持图片传输协议 (PTP),因此用户可以通过 USB 连接他们的相机,只需一键即可将照片导入图库。该应用还会将照片复制到本地存储,并提供一个指示器,让用户查看有多少可用空间。

日历
日历网格更大,更易于阅读,触摸目标也更准确。此外,用户可以通过隐藏日历列表控件来创建更大的网格查看区域。日期选择器中的控件已重新设计,使其更易于查看和使用。
联系人
联系人应用现在允许您使用全文搜索更轻松地查找联系人。搜索会返回存储在联系人所有字段中的匹配结果。
邮件
回复或转发 HTML 消息时,邮件应用现在会同时发送纯文本和 HTML 正文作为多部分 MIME 消息。这确保了消息将对所有收件人正确格式化。IMAP 帐户的文件夹前缀现在更易于定义和管理。为了节省电池电量并最大程度地减少蜂窝数据使用,该应用程序现在仅在设备连接到 Wi-Fi 接入点时才从服务器预取邮件。
更新后的主屏幕小部件使用户可以快速访问更多邮件。用户可以点击小部件顶部的邮件图标来循环浏览标签,例如收件箱、未读和加星标。小部件本身现在可以在水平和垂直方向上调整大小。
企业支持
用户现在可以为每个连接的 Wi-Fi 接入点配置 HTTP 代理。这允许管理员与用户合作设置代理主机名、端口和任何旁路子域名。当连接到 Wi-Fi 接入点时,浏览器会自动使用此代理配置,其他应用也可以选择使用。代理和 IP 配置现在会在系统更新和重置期间备份和恢复。
为了满足平板电脑用户的需求,该平台现在允许在具有模拟存储卡和加密主存储的设备上接受“加密存储卡”设备策略。
新开发者功能
Android 3.1 平台添加了改进和新功能,开发人员可以利用这些功能在平板电脑和其他大屏幕设备上创建强大且引人入胜的应用程序体验。
开放式配件 API,实现与外设的丰富交互
Android 3.1 引入了一个新的 API,用于将硬件配件与在平台上运行的应用程序集成。该 API 提供了一种跨各种外设进行交互的方法,从机器人控制器到音乐设备、健身自行车等等。
该 API 基于平台内置的新 USB(通用串行总线)堆栈和服务。该平台提供用于发现和识别连接的硬件以及通知感兴趣的应用程序硬件可用的服务。
当用户插入 USB 配件时,平台会接收产品名称、配件类型、制造商和版本等识别信息。平台会建立与配件的通信,并使用其信息通知并启动目标应用(如果可用)。或者,配件可以提供一个 URL,让用户查找和下载与配件一起使用的应用。这些发现功能使用户的首次设置更加轻松,并确保为与连接的硬件交互提供合适的应用程序。
对于应用程序开发人员和配件制造商,配件模式提供了许多新的方法来吸引用户并构建与连接的硬件强大的交互体验。
要详细了解如何开发与配件交互的应用程序,请参阅USB 配件文档。
USB 主机 API
Android 3.1 为 USB 主机模式提供内置平台支持,并公开一个 API,允许应用程序管理连接的外设。在支持主机模式的设备上,应用程序可以使用 API 来识别和与连接的设备(例如音频设备、输入设备、通信设备、集线器、摄像头等)进行通信。
要详细了解如何开发与 USB 设备交互的应用程序,请参阅USB 主机文档。
来自鼠标、操纵杆和游戏手柄的输入
Android 3.1 扩展了输入事件系统以支持各种新的输入源和运动事件,跨越所有视图和窗口。开发人员可以利用这些功能让用户使用鼠标、轨迹球、操纵杆、游戏手柄和其他设备(除了键盘和触摸屏之外)与他们的应用程序进行交互。
对于鼠标和轨迹球输入,平台支持两种新的运动事件操作:滚动(水平或垂直),例如来自滚轮;以及悬停,它在未按下任何按钮时报告鼠标的位置。应用程序可以根据需要以任何方式处理这些事件。
对于操纵杆和游戏手柄,平台提供了大量运动轴,应用程序可以从给定的输入源中使用这些轴,例如 X、Y、Hat X、Hat Y、旋转、油门、压力、大小、触摸、工具、方向等。开发人员还可以根据需要定义自定义轴,以其他方式捕获运动。平台将运动事件作为批处理提供给应用程序,应用程序可以查询批处理中包含的移动的详细信息,以便更有效和精确地处理事件。
应用程序可以查询连接的输入设备列表和每个设备支持的运动范围(轴)。应用程序还可以处理来自单个输入设备的多个输入和运动事件。例如,应用程序可以使用来自单个输入设备的鼠标和操纵杆以及鼠标事件源。
可调整大小的主屏幕小部件
开发人员现在可以创建用户可以水平、垂直或同时调整大小的主屏幕小部件。只需在小部件的声明中添加一个属性,小部件即可在水平、垂直或同时方向上调整大小。这使用户可以自定义小部件内容的显示,并在其主屏幕上显示更多内容。
用于与外部摄像头集成的 MTP API
在 Android 3.1 中,新的 MTP(媒体传输协议)API 允许开发人员编写直接与连接的摄像头和其他 PTP 设备交互的应用程序。新的 API 使应用程序能够轻松接收设备连接和断开连接时的通知,管理这些设备上的文件和存储,以及向其传输和从中传输文件和元数据。MTP API 实现了 MTP 规范的 PTP(图片传输协议)子集。
RTP API,用于控制音频流会话
Android 3.1 将其内置 RTP(实时传输协议)堆栈的 API 公开给应用程序,应用程序可以使用该 API 直接管理按需或交互式数据流。特别是,提供 VOIP、一键通话、会议和音频流的应用程序可以使用该 API 来启动会话并在任何可用网络上传输或接收数据流。
性能优化
Android 3.1 包含各种性能优化,有助于使应用程序更快、更具响应性。一些优化包括
- 新的 LRU 缓存类允许应用程序受益于高效的缓存。应用程序可以使用该类来减少从网络计算或下载数据所花费的时间,同时为缓存的数据保持合理的内存占用。
- UI 框架现在支持硬件加速视图中的部分无效,这使得这些视图中的绘图操作更加高效。
- 一种新的图形方法,
setHasAlpha()
,允许应用程序提示给定的位图是不透明的。这为某些类型的 blit 提供了额外的性能提升,对于使用 ARGB_8888 位图的应用程序尤其有用。