Android 5.0 新增 5000 多个 API

阅读数:3306 2014 年 10 月 2 日

话题:Android语言 & 开发

据谷歌开发人员 Ankur Kotwal 宣称,Android 5.0(棒棒糖)引入了大量新的 API,大概超过 5000 个。这些新的 API 覆盖了移动应用开发的多个领域,从全新的 Material Design 到强大的电池管理,以及使用 ART 的设备等。本文将为读者介绍其中最重要的一些 API。

Material Design 我们在之前的一篇文章中已经详细介绍了 Material Design,在此就不在赘述。在文中我们将提及为了促进 Material Design 在旧版本设备上的应用,提供大量应用组件和支持库的想法。在 App 经过测试并且一切都可以在 Android 5.0 上很好的运转之后,我们就可以用这些指导方针将其升级到 Material Design。

提醒通知 使用铃声和振动的高优先级的通知现在可以在用户的全屏 Activity 之上展示,并且附带可能采取的行动。

锁屏通知 如果用户在锁定屏幕的状态下启用通知,应用就可以在锁定的设备屏幕上展示信息,这些消息将被分为私有——仅显示消息的一部分或者经过剪辑的消息,共有——显示整条消息,或机密——不显示任何信息。

WebView已经更新至 Chromium 37 版本,包括对WebAudioWebGLWebRTC的支持。onShowFileChooser()方法可以用于从设备中上传文件。如果得到用户的许可,WebView 现在还可以访问相机和麦克风。

用户将不再需要等待 WebView 的更新,谷歌将通过谷歌 Play 自动更新 WebView,就像更新 Play Services 一样。这意味着频繁的更新和最新的功能。

Volta项目通过向开发者展示他们的应用什么时候消耗电力以及消耗多少电力,让开发者理解他们的应用如何使用电力。使用新增的JobScheduler API,开发人员可以决定何时启动一个作业:当设备空闲时,当连接到一个不计量的网络时,充电时或在某个截止时点之前。

ART 在 Android 4.4 版本实验性引入的这一运行时模式现在已经成为应用运行的默认方式。ART 提供预编译技术,比 Dalvik 更优的垃圾收集技术以及更好的调试功能。据谷歌介绍,ART 不需要修改任何代码就可以提升应用的性能。

一些应用可能无法在 ART 模式下正常运行,如果应用中使用了用于运行 C/C++ 代码的 JNI 接口,如果代码被混编器处理过或使用了不兼容的压缩垃圾回收技术。更多关于 ART 的细节详见Verifying App Behavior on the Android Runtime (ART)

64位支持 NDK r10c增加了对 64 位编程的支持,包括提供更大的地址总线,更多的处理器寄存器和更多的指令集,对于针对NDK r10c做过调优的应用来说,所有这些支持都将转化为更好的性能。SDK r23中包含了一个 64 位的模拟器。32 位的 Java 应用不需要任何改变就能够在 64 位上运行。

Android Work IT 管理员能够在个人和工作相关活动中可共享的设备上安装并管理应用。管理员有他所安装的应用和数据的完全访问权限的同时,用户也有他所安装的应用的控制权限。数据也分别保存在两个独立的配置文件中。在安全和管理手段能够控制 BYOD 设备的同时,用户还能够在个人和工作相关信息之间获得统一的体验。而且只需要一个应用启动器,并且不需要切换配置文件就能够访问文档或通知。

Camera2 API替代了已经弃用的Camera类。根据官方文档的说明,Camera2

“将照相机设备建模为一个管道,这个管道接收捕捉单帧画面的输入请求,为每个请求捕捉单一图像,然后输出一个捕捉结果的元数据包和这个请求的输出图像的缓存集合。这些请求将被按顺序处理,并且一次可以有多个请求处于正在发送状态。由于照相机设备是一个多段式的管道,在大多数 Android 设备上,如果要维持完整的帧速率,就必须有多个请求处于正在发送状态。”

满足规格的设备现在可以捕捉分辨率为 8MP,每秒帧数 30FPS 的未经压缩的 YUV 片段。

游戏开发 Android 5.0 包含了对 OpenGL ES 3.1 的支持,其中包括计算着色器, 独立渲染对象, 间接绘制命令, 多点采样和模板纹理, 渲染语言改进, 高级混合模式扩展以及调试,并且向后兼容 ES 2.0 和 3.0。Android 扩展包将提供一些附加功能,包括一些 Java 接口和对更加复杂的图形操作的原生支持。

连接性 Android 5.0 会监控无线空间,搜索可用的网络,以便在必要时能够连接到网络。这对于需要使用指定网络(MMS,SUPL,运营商计费,等)或指定连接协议的应用来说非常实用。

低功耗蓝牙的外围模式(Bluetooth LE Peripheral Mode)让应用可以像感应器一样——如计步器、健康监控等,广播搜集到的数据并将这些数据传输到其他设备。

新的SDK,ADT 和 emulator(32 位 &64 位 x86 以及 Android TV 32 位)和NDK r10c已经发布,其中包括了 Nexus 5 和 Nexus 7 系统镜像的预览版本。11 月初,预装了“棒棒糖”系统的 Nexus 6、Nexus 9 和 Nexus Player 会登陆各大商店,Nexus 4,5,7(2012 & 2013),10 种其他未指定的设备和 Google Play 版的设备将会收到更新通知。

查看英文原文:Android 5.0 Brings Over 5,000 New APIs