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 标签,然后根据从标签读取的数据采取行动。一个典型的用法是在餐厅、商店或活动中读取标签,然后通过跳转到标签数据中包含的网站的 URL 进行评分或注册。NFC 通信依赖于设备硬件中的无线技术,因此特定设备上对平台的 NFC 功能的支持由其制造商确定。
下载管理
下载应用使用户可以轻松访问从浏览器、电子邮件或其他应用下载的任何文件。下载基于系统中全新的下载管理器功能构建,任何其他应用都可以使用该功能更轻松地管理和存储其下载内容。
相机
该应用现在允许用户访问设备上的多个相机,包括前置摄像头(如果可用)。
新增开发者功能
Android 2.3 提供了各种功能和 API,让开发者能够将新型应用引入 Android 平台。
游戏增强功能
性能
Android 2.3 在整个系统中包含各种改进,使所有应用的常见操作更快、更高效。对游戏开发者特别感兴趣的是
- 并发垃圾回收器 - Dalvik VM 引入了一个新的并发垃圾回收器,可最大程度地减少应用暂停,有助于确保游戏和类似应用中的动画更流畅,响应速度更快。
- 更快的事件分发 — 平台现在能够更快、更有效地处理触摸和键盘事件,最大程度地减少事件分发期间的 CPU 使用率。这些更改提高了所有应用程序的响应速度,但尤其有利于结合使用触摸事件和 3D 图形或其他 CPU 密集型操作的游戏。
- 更新的视频驱动程序 — 平台使用更新的第三方视频驱动程序,从而提高 OpenGL ES 操作的效率,进而提升整体 3D 图形性能。
原生输入和传感器事件
使用原生代码的应用程序现在可以直接在其原生代码中接收和处理输入和传感器事件,这极大地提高了效率和响应速度。
平台公开的原生库允许应用程序处理与通过框架提供的相同的输入事件类型。应用程序可以接收来自所有受支持传感器类型的事件,并且可以启用/禁用特定传感器以及管理事件传递速率和排队。
陀螺仪和其他新传感器,用于改进 3D 运动处理
Android 2.3 添加了对几种新传感器类型的 API 支持,包括陀螺仪、旋转矢量、线性加速度、重力传感器和气压计传感器。应用程序可以将新传感器与设备上可用的任何其他传感器结合使用,以高精度和准确度跟踪三维设备运动和方向变化。例如,游戏应用程序可以使用设备上的陀螺仪和加速度计的读数来识别复杂的用户的姿势和动作,例如倾斜、旋转、推进和切片。
原生音频的开放 API
平台提供了一个 Khronos OpenSL ES 的软件实现,这是一个标准 API,允许应用程序从原生代码访问强大的音频控件和效果。应用程序可以使用此 API 来管理音频设备并直接从原生代码控制音频输入、输出和处理。
原生图形管理
平台提供了一个与其 Khronos EGL 库的接口,允许应用程序从原生代码管理图形上下文以及创建和管理 OpenGL ES 纹理和表面。
对 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 虚拟机
- 并发垃圾收集器(目标暂停时间低于 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 差异报告。