姜饼

Android 2.3 平台为用户和开发者引入了许多令人兴奋的新功能。本文档简要介绍了 Android 2.3 中的一些新功能和技术。如需详细了解新的开发者 API,请参阅 Android 2.3 版本说明

用户相关的新功能

界面优化,以求简洁和快速

界面在系统中以多种方式进行了优化,使其更易于学习、使用更快速且更节能。以黑色为背景的简化视觉主题可以为通知栏、菜单和界面的其他部分带来鲜明对比。通过菜单和设置的变化,用户可以更轻松地浏览和控制系统和设备的功能。

更快速、更直观的文本输入

Android 软键盘经过重新设计和优化,可以加快文本输入和修改速度。按键本身经过调整的形状和位置,以改进定位效果,使用户更容易查看和准确按下按键,即使是在高速运转的情况下。键盘还会以更大、更鲜明的样式显示当前字符和字典建议,这样更易于阅读。

键盘添加了根据字典中的建议更正输入的字词的功能。当用户选择已输入的单词时,键盘会显示可供用户选择的建议,以替换所选内容。用户还可以切换到语音输入模式来替换所选内容。智能建议可让用户接受建议,然后稍后根据需要从原始建议集中进行更正。

新的多点触控按键组合可让用户通过按 Shift+<字母> 和 ?123+<符号> 快速输入数字和符号,无需手动切换输入模式。用户还可以通过按住特定按键并滑动以选择某个字符,访问包含重音字符、数字和符号的弹出式菜单。

一键选中和复制/粘贴文字

在输入文本或查看网页时,用户可以通过按住快速选择某个字词,然后将其复制到剪贴板并粘贴。按某个字词会进入自由选择模式 - 用户可以根据需要调整选择区域,方法是将一组边界箭头拖动到新位置,然后按选择区域中的任意位置复制边界区域。对于文本输入,用户可以滑动进入光标模式,然后通过拖动光标箭头轻松准确地重新定位光标。同时使用选择模式和光标模式时,无需使用轨迹球。

改进了电源管理

在管理使设备长时间保持唤醒状态的应用或在后台运行时占用 CPU 的应用方面,Android 系统发挥了更活跃的作用。系统通过管理此类应用(视情况将其关闭),有助于确保实现最佳性能和最长电池续航时间。

系统还可让用户更好地了解系统组件和正在运行的应用消耗的电量。应用设置可以准确概述电池的使用情况,并提供有关每个组件或应用的使用情况详情和相对功耗。

对应用的控制

现在,主屏幕和启动器的“选项”菜单中新增了“管理应用”控件的快捷方式,让您可以更轻松地查看和管理应用活动。用户进入“管理应用”后,新的“正在运行”标签页会显示活动应用列表以及每个应用使用的存储空间和内存。用户可以阅读有关每个应用的更多详细信息,必要时可停止某个应用或向其开发者报告反馈。

交流和整理新方式

通过一组更新后的标准应用,用户可以采用新的方法来管理信息和关系。


互联网电话

用户可以通过互联网向拥有 SIP 帐号的其他用户进行语音通话。用户可以向任何联系人添加互联网电话号码(SIP 地址),并通过快速联系人或拨号器拨打电话。如需使用互联网电话,用户必须在自己选择的 SIP 提供商处创建帐号,SIP 帐号不会作为互联网电话功能的一部分提供。此外,平台是否支持特定设备的 SIP 和互联网通话功能取决于其制造商和关联的运营商。

近场通信

NFC 读取器应用可让用户读取近距离无线通信 (NFC) 标签并与之互动。例如,用户可以“触摸”或“滑动”可能嵌入海报、贴纸或广告的 NFC 标签,然后对从标签中读取的数据执行操作。一种典型用途是读取餐馆、商店或活动中的代码,然后通过跳转到代码数据中包含其网址的网站来评分或注册。NFC 通信依赖于设备硬件中的无线技术,因此特定设备上平台是否支持 NFC 功能由制造商决定。

下载内容管理

“下载”应用可让用户轻松访问从浏览器、电子邮件或其他应用下载的任何文件。下载内容基于系统中全新的下载管理器功能,任何其他应用都可以使用它更轻松地管理和存储其下载内容。

相机

应用现在允许用户访问设备上的多个摄像头,包括前置摄像头(如果可用)。

新的开发者功能

Android 2.3 提供了各种功能和 API,可帮助开发者在 Android 平台上开发出新型应用。

针对游戏的增强功能

性能

Android 2.3 对系统进行了各种改进,使所有应用的通用操作更快、更高效。游戏开发者尤其感兴趣的是:

  • 并发垃圾回收器 - Dalvik 虚拟机引入了一个新的并发垃圾回收器,可最大限度地减少应用暂停,有助于确保动画更流畅,并提升游戏和类似应用中的响应速度。
  • 加快事件分发速度 - 现在,平台可以更快、更高效地处理触摸和键盘事件,从而最大限度地降低事件分发期间的 CPU 利用率。这些变更可以提高所有应用的响应速度,但对将触摸事件与 3D 图形或其他 CPU 密集型操作结合使用的游戏尤为有用。
  • 更新了视频驱动程序 - 平台使用更新后的第三方视频驱动程序,可提高 OpenGL ES 操作的效率,从而提升整体 3D 图形性能。

原生输入和传感器事件

现在,使用原生代码的应用可以直接在其原生代码中接收和处理输入和传感器事件,从而显著提高效率和响应速度。

通过平台提供的原生库,应用可以处理与通过框架提供的事件相同的类型输入事件。应用可以接收来自所有支持的传感器类型的事件,并且可以启用/停用特定传感器以及管理事件传送速率和队列。

陀螺仪和其他新传感器,用于改进 3D 运动处理

Android 2.3 增加了对几种新传感器类型的 API 支持,包括陀螺仪传感器、旋转矢量传感器、线性加速度传感器、重力传感器和气压计传感器。应用可以将新传感器与设备上可用的任何其他传感器结合使用,以高精确度和精确度跟踪三维设备的运动和方向变化。例如,游戏应用可以利用设备上陀螺仪和加速度计的读数来识别复杂的用户手势和动作,例如倾斜、旋转、推力和切片。

适用于原生音频的开放 API

该平台提供了 Khronos OpenSL ES 的软件实现,Khronos OpenSL ES 是一个标准 API,可让应用通过原生代码使用强大的音频控件和效果。应用可以使用该 API 管理音频设备,并直接通过原生代码控制音频输入、输出和处理。

原生图形管理

平台提供了其 Khronos EGL 库的接口,让应用能够管理图形上下文,以及从原生代码中创建和管理 OpenGL ES 纹理和 Surface。

原生访问 activity 生命周期和窗口管理

原生应用可以声明一种新型的 Activity 类,即 NativeActivity,其生命周期回调直接在原生代码中实现。NativeActivity 及其底层原生代码在系统中运行,就像其他 activity 一样。它们在应用的系统进程中运行,在应用的主界面线程上执行,它们接收的生命周期回调与其他 activity 相同。

该平台还公开用于管理窗口的原生 API,包括锁定/解锁像素缓冲区以直接绘制到其中的功能。通过该 API,应用可以获得与框架 Surface 对象相关联的原生窗口对象,并直接在原生代码中与其交互。

以原生方式访问资源和存储空间

应用现在可以访问原生 Asset Manager API,以直接从原生代码检索应用资源,而无需通过 JNI。如果资源经过压缩,平台会在应用读取资源数据时执行流式解压缩。可读取的压缩 .apk 资源不再有大小限制。

此外,应用可以访问原生 Storage Manager API,以直接处理由系统下载和管理的 OBB 文件。请注意,虽然 Android 2.3 中提供了对 OBB 的平台支持,但用于创建和管理 OBB 文件的开发工具要到 2011 年初才可用。

强大的原生开发环境

Android NDK(r5 或更高版本)提供了一整套工具、工具链和库,用于开发使用 Android 2.3 平台提供的丰富原生环境的应用。如需了解详情或下载 NDK,请参阅 Android NDK 页面。

新交流形式

互联网电话

开发者现在可以将基于 SIP 的互联网电话功能添加到应用中。Android 2.3 包含完整的 SIP 协议堆栈和集成的通话管理服务,可让应用轻松设置去电和来电语音通话,而无需直接管理会话、传输级通信或音频录制或播放。

具体设备是否支持平台的 SIP 和互联网通话功能取决于其制造商和关联的运营商。

近距离无线通信 (NFC)

该平台支持近距离无线通信 (NFC),让开发者可以开始创建一类全新的 Android 应用。开发者可以创建新应用,为用户、组织、商家和广告主提供基于邻近区域的信息和服务。

利用 NFC API,应用可以在用户“触摸”内置在贴纸、智能海报甚至其他设备中的元素时,读取并响应“检测到”的 NFC 标签。收集了相关标记后,应用可以响应该标记,从该标记中读取消息,然后存储消息,并根据需要提示用户。

从 Android 2.3.3 开始,应用还可以写入标签并设置与其他 NFC 设备的点对点连接。

NFC 通信依赖于设备硬件中的无线技术,因此平台是否支持特定设备上的 NFC 功能由其制造商决定。

富媒体多媒体

混合音频效果

借助新的音效 API,开发者可以针对音轨和声音添加均衡、低音增强、耳机虚拟化(加大声场)和混响,从而轻松创建丰富的音频环境。开发者可以在本地轨道中混用多种音效,也可以在全球范围内跨多个轨道应用音效。

支持新的媒体格式

该平台现在提供对 VP8 开放视频压缩格式和 WebM 开放容器格式的内置支持。该平台还添加了对 AAC 编码和 AMR 宽带编码(在软件中)的支持,以便应用可以捕获比窄带更好的音频质量。

使用多个摄像头

现在,开发者可以通过 Camera API 访问设备上可用的任何摄像头,包括前置摄像头。应用可以向平台查询设备上的摄像头数量及其类型和特性,然后打开所需的摄像头。例如,视频聊天应用可能需要使用分辨率较低的前置摄像头,而照片应用可能更倾向于分辨率较高的前置摄像头。

新平台技术

媒体框架

  • 新的媒体框架完全取代了 OpenCore,并保留了之前对编码和解码的所有编解码器/容器支持。
  • 集成了对 VP8 开放视频压缩格式和 WebM 开放容器格式的支持
  • 添加了 AAC 编码和 AMR 宽带编码

Linux 内核

  • 已升级到 2.6.35

网络

  • SIP 堆栈,可由设备制造商配置
  • 支持近距离无线通信 (NFC),可由设备制造商进行配置
  • 更新后的 BlueZ 堆栈

Dalvik 运行时

  • Dalvik 虚拟机:
    • 并发垃圾回收器(目标暂停时间低于 3 毫秒)
    • 添加了进一步的 JIT(代码生成)优化
    • 改进了验证码验证
    • StrictMode 调试,用于识别性能和内存问题
  • 核心库:
    • 扩展了 I18N 支持(全面覆盖全球编码,更多语言区域)
    • 格式设置和数字格式设置速度更快。例如,浮点数格式设置速度加快了 2.5 倍。
    • HTTP 响应默认采用 GZip 格式。XML 和 JSON API 响应大小可以缩减 60% 或更多。
    • 新的集合和实用程序 API
    • 改进了网络 API
    • 改进了文件读写控件
    • 已更新 JDBC
  • 来自上游项目的更新:
    • OpenSSL 1.0.0a
    • BouncyCastle 1.45
    • ICU 4.4
    • zlib 1.2.5

如需详细了解新的开发者 API,请参阅 Android 2.3 版本说明API 差异报告