Android 7应用程序开发教程
上QQ阅读APP看书,第一时间看更新

1.4 Android 7新特性介绍

Android 7.0 Nougat是迄今为止规模最大的Android版本。该版本为用户推出了各种崭新的功能,为开发者提供了数千个新的API。不仅如此,它还将Android扩展得更广,小到手机、平板电脑和穿戴式设备,大到电视和汽车。

本节主要介绍Android 7新增的几个特性。

1.4.1 分屏显示

在运行Android 7的手机和平板电脑上,用户可以并排运行两个应用,或者处于分屏模式时,一个应用位于另一个应用之上。用户可以通过拖动两个应用之间的分隔线来调整应用所占屏幕的大小,如图1.2所示。

图1.2 分屏显示

1.4.2 全新的通知设计

Android 7对通知栏功能进行了进一步的丰富,使之速度更快且更加易于使用。可以实现通知栏内容分组、通知样式自定义、通知直接回复等功能,如图1.3所示。此外,借助于模板,开发者只需编写少量的代码便可以实现相关功能。

图1.3 通知直接回复功能

1.4.3 基于配置文件的JIT/AOT编译

在Android N系统中,添加了Just in Time(JIT)编译器支持,可以在应用运行时对ART进行代码分析,持续提升Android应用的性能。JIT编译器对Android运行组件Ahead of Time(AOT)编译器进行了补充,有助于提升运行时性能,节省存储空间,加快应用更新和系统更新速度。

基于配置文件的JIT/AOT编译可以让Android N系统的运行组件依据应用的实际情况对应用进行JIT/AOT编译,有助于降低RAM使用,降低耗电量,并且能够大幅度提升应用的安装速度。

1.4.4 优化的低电耗模式

Android 6.0推出了低电耗模式,即设备处于空闲状态时,通过推迟应用的CPU和网络活动以实现省电目的的系统模式,例如设备放在桌上或抽屉里时。Android N将低能耗模式更加推进了一步,只要屏幕关闭了一段时间,且设备未插入电源,低电耗模式就会对应用使用熟悉的CPU和网络限制。这意味着用户即使将设备放入口袋里也可以省电。

1.4.5 Project Svelte:后台优化

Android N系统持续改善了Project Svelte,以最大程度地减少Android设备中一系列系统和应用使用的RAM。

此外,在Android N中,删除了三个常用的隐式广播:CONNECTIVITY_ACTION、ACTION_NEW_PICTURE和ACTION_NEW_VIDEO。因为这些广播可能会一次唤醒多个应用的后台进程,同时会耗尽内存和电池。

1.4.6 Data Saver

在移动设备的整个生命周期,蜂窝数据计划的成本通常会超出设备本身的成本。对于许多用户而言,蜂窝数据是他们想要节省的昂贵资源。

Android N推出了Data Saver系统服务(见图1.4),有助于减少应用使用的蜂窝数据,无论是在漫游、账单周期即将结束,还是使用少量的预付费数据包。Data Saver让用户可以控制应用使用蜂窝数据的方式,同时让开发者打开Data Saver时可以提供更多有效的服务。

图1.4 Data Saver

此外,Android N扩展了ConnectivityManager,以便为应用检索用户的Data Saver首选项并监控首选项变更。所有应用均应检查用户是否已启用Data Saver并努力限制前台和后台的流量消耗。

1.4.7 Quick Settings Tile API

快速设置贴片通常用于直接从通知栏显示关键设置和操作,如图1.5所示。在Android N中,扩展了快速设置贴片的范围,使其使用更加方便。

图1.5 快速设置贴片

Android N为快速设置贴片添加了更多空间,用户可以通过向左或向右滑动跨分页的显示区域访问它们。用户可以控制显示哪些快速设置贴片,并且可以通过拖放贴片来添加或移动贴片位置。

Android N为开发者提供了新的API,以定义自己的快速设置贴片,进而使用户能够轻松访问应用中的关键控件和操作。

1.4.8 号码屏蔽和来电过滤

Android 7.0对号码屏蔽和来电过滤功能提供了平台级别的支持,并提供了相关的API。系统会形成一个号码屏蔽列表,系统默认的短信应用、系统应用和服务提供商开发的应用可以访问该列表,而其他应用不具有访问该列表的权限。

来电过滤功能除了会拒绝来电呼入之外,还可以将来电记录到系统日志,并且不向用户发送来电通知。借助号码屏蔽列表还可以完成短信屏蔽、跨设备使用该列表、多应用共用该列表等功能。

1.4.9 OpenGL ES 3.2 API支持

Android 7.0支持Khronos OpenGL ES 3.1,因此开发者可以在受支持的设备上为游戏和其他应用采用最高性能的2D和3D图形功能。

OpenGL ES 3.2增加了计算着色器、模板纹理、加速的视觉效果、优化ETC2/EAC纹理压缩、高级纹理渲染、标准化纹理尺寸以及渲染缓冲区格式等功能,针对HDR的浮点帧缓冲和延迟着色进行了优化,并通过强大的缓冲区访问控制减少了WebGL开销。

Android 7.0还支持Android扩展程序包(AEP),这是一组OpenGL ES扩展程序,可让开发者使用镶嵌图案着色器、几何图形着色器、ASTC纹理压缩、按样本插入和着色以及其他高级渲染功能。有了AEP,开发者就可以通过一系列GPU运用高性能图形。

1.4.10 密钥认证

Android 7.0使用硬件支持的密钥库,可更安全地在Android设备上创建、存储和使用加密密钥。它们可保护Linux内核免受潜在的Android漏洞的攻击,也可防止别人从已取得root权限的设备提取密钥,以此提高Android N系统的安全性。