Android 2.3 平台为用户和开发者带来了许多激动人心的新功能。本文档概述了 Android 2.3 中的一些新功能和技术。有关新的开发者 API 的详细信息,请参阅Android 2.3 版本说明。
新的用户功能


UI 改进,提升简洁性和速度
系统在许多方面对用户界面进行了改进,使其更易于学习、更快地使用且更省电。简化的黑底彩色视觉主题为通知栏、菜单和 UI 的其他部分带来了生动性和对比度。菜单和设置的改变使用户更容易导航和控制系统及设备的功能。
更快、更直观的文本输入
Android 软键盘经过重新设计和优化,可实现更快的文本输入和编辑。按键本身经过重塑和重新定位,以改善定位,即使在高速输入时也更容易看清并准确按下。键盘还会以更大、更生动的样式显示当前字符和字典建议,使其更易于阅读。
键盘新增了根据词典中的建议纠正已输入单词的功能。当用户选择已输入的单词时,键盘会显示用户可从中选择的建议,以替换所选内容。用户还可以切换到语音输入模式来替换所选内容。智能建议使用户可以接受建议,然后在需要时再从原始建议集中返回进行纠正。
新的多点触控组合键允许用户通过按下 Shift+<字母> 和 ?123+<符号> 快速输入数字和符号,而无需手动切换输入模式。对于某些按键,用户还可以通过按住按键并滑动来选择字符,以访问带有重音字符、数字和符号的弹出菜单。


一触式单词选择和复制/粘贴
在输入文本或查看网页时,用户可以通过按住快速选择单词,然后复制到剪贴板并粘贴。按下某个单词会进入自由选择模式 — 用户可以通过拖动一组边界箭头到新位置来根据需要调整选择区域,然后通过在选择区域内的任意位置按下即可复制选定的区域。对于文本输入,用户可以滑动按下进入光标模式,然后通过拖动光标箭头轻松准确地重新定位光标。在这两种选择和光标模式下,都不需要使用轨迹球。


改进的电源管理
Android 系统在管理那些使设备长时间保持唤醒状态或在后台运行时消耗 CPU 的应用方面发挥更积极的作用。通过管理此类应用(如果合适则关闭它们),系统有助于确保最佳性能和最长的电池续航时间。
系统还让用户对系统组件和正在运行的应用所消耗的电量有更多了解。应用设置提供了有关电池使用情况的准确概览,其中详细说明了每个组件或应用的用电情况和相对消耗。
应用控制
现在主屏幕和启动器中的选项菜单中显示“管理应用”控件的快捷方式,使得检查和管理应用活动变得更加容易。用户进入“管理应用”后,新的“运行中”选项卡会显示正在运行的应用列表以及每个应用正在使用的存储空间和内存。用户可以阅读有关每个应用的更多详细信息,并在必要时停止应用或向其开发者报告反馈。
新的沟通和组织方式
一套更新的标准应用允许用户采用新的方法来管理信息和关系。


互联网电话
用户可以通过互联网向拥有 SIP 帐户的其他用户拨打语音电话。用户可以将互联网电话号码(SIP 地址)添加到任何联系人,并可以通过快速联系人或拨号器发起呼叫。要使用互联网电话,用户必须在他们选择的 SIP 提供商处创建帐户 — SIP 帐户不作为互联网电话功能的一部分提供。此外,特定设备对平台 SIP 和互联网电话功能的支持由其制造商和相关运营商决定。

近场通信 (NFC)
NFC 读取器应用允许用户读取近场通信 (NFC) 标签并与之交互。例如,用户可以“触摸”或“滑动”嵌入在海报、贴纸或广告中的 NFC 标签,然后对从标签读取的数据采取行动。典型的用法是读取餐厅、商店或活动场所的标签,然后跳转到标签数据中包含 URL 的网站进行评分或注册。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 的软件实现,这是一个标准 API,允许应用从原生代码访问强大的音频控制和效果。应用可以使用该 API 直接从原生代码管理音频设备以及控制音频输入、输出和处理。
原生图形管理
平台提供了其 Khronos EGL 库的接口,允许应用从原生代码管理图形上下文以及创建和管理 OpenGL ES 纹理和 surface。
原生访问 Activity 生命周期、窗口管理
原生应用可以声明一种新的 Activity 类,NativeActivity
,其生命周期回调直接在原生代码中实现。NativeActivity
及其底层原生代码在系统中像其他 Activity 一样运行 — 它们在应用的系统进程中运行并在应用的主 UI 线程上执行,并且它们接收与和 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 的设备“接触”到嵌入在贴纸、智能海报甚至其他设备中的元素时“发现”的 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 VM
- 并发垃圾收集器(目标是低于 3 毫秒的暂停)
- 添加更多 JIT(代码生成)优化
- 改进的代码验证
- StrictMode 调试,用于识别性能和内存问题
- 核心库
- 扩展的 I18N 支持(完整的全球编码,更多区域设置)
- 更快的 Formatter 和数字格式化。例如,浮点格式化速度提高了 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 差异报告。