首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Android 11迎来首个开发者预览版,这些新功能必知

2月19日,Android开发者官方博客宣布正式发布Android 11首款开发者预览版

据悉,Android 11将带来一系列新功能,包括对可折叠显示屏的支持、5G增强功能、来电筛选API、新的媒体与摄像头功能以及机器学习等等。这些还只是新版本的一部分内容。

Dave Burke写道,“在Android 11中,我们将继续为用户带来更多创新技术,并保持对隐私性和安全性的高度关注。我们不仅增加了多项用于管理敏感数据和文件访问的新功能、同时还强化了某些关键区域,从而保持操作系统的良好弹性和安全性。”

重大新功能一览

一、5G体验

5G技术能为全球用户带来更高网速、更低延迟。

在5G技术的帮助下,大家可以把以往只能通过WiFi实现的应用体验扩展至移动用户,比如4K流媒体视频、云游戏等,也能据此构建专为5G网络环境设计的新体验。

在Android 11中,我们正在增强并更新现有的连接API,以确保大家能享受5G带来的性能改进。

1.动态计量API

利用此API,大家可以检查当前网络连接的性能水平;如果尚有充足余量,则能选择更高的素材分辨率或质量,从而强化应用的使用体验。

我们扩展了该API的兼容范围,让其支持蜂窝网络。这样,开发者就能在用户接入5G网络时识别出对应的运营商,保证应用始终根据当前网络条件带来最好的使用感受。

2.带宽估算API

我们还更新了适用于5G环境的带宽估算API,用以快速检查下行/上行带宽,用户不再需要轮询网络或者自行估算。

如果你的调制解调器不支持这项功能,我们将根据当前连接情况进行默认估算。

5G技术不仅能将传统固网带出家门,还将帮助用户与周边环境(好友、家人乃至企业)无缝交互,增强“移动”体验。

二、新的屏幕类型

设备制造商正不断将令人兴奋的全新移动设备外形与屏幕设计推向市场。

我们也着手在新的Android平台中增加对这些全新特性的支持,同时提供对应API,以优化应用显示效果。

针孔与瀑布屏

应用程序可以利用现有显示屏布局,充分管理针孔屏与瀑布屏等显示方案。

如果需要,开发者能让自己的应用程序铺满包括边框在内的整个瀑布屏,并通过嵌入图管理边框附近的交互操作。

三、人与对话

对大多数用户来说,与朋友和同事们的沟通是手机上最重要的应用方式。

在Android 11中,我们引入了能帮助开发者创建更深层对话体验的变更,其中不少都将在此次开发者预览版(DP1)中得到体现:

1.通知栏中的专用对话部分

用户可以在自己喜爱的应用程序中立即找到与特定对象的对话。

2.悬窗(Bubbles)

悬窗是一种在手机上执行多任务处理时,继续保持对话可见性与可访问性的方法。

消息与聊天应用在使用Bubbles API时,会向用户申请权限,并通过Android 11中的设置完成授权。

3.将图像插入通知回复中

如果你的应用支持图像复制/粘贴,那么在新版本中,你可以允许用户将素材直接插入至通知回复中,从而实现更丰富的通信效果与应用功能设计。

作为此次预览版的重要组成部分,你将在Chrome中找到图片复制支持选项,并通过Gboard剪贴板查看图片粘贴支持功能。

实时双向通讯应用应当使用共享/会话快捷方式API,借此保证Android系统在整个对话过程中显示People目标以及Bubbles API,从而允许用户在使用其他应用功能的同时继续保持当前对话。

四、神经网络API 1.3

神经网络API(NNAPI)专为Android设备上运行的机器学习类计算密集型操作而设计。

在Android 11中,我们正在扩展可供开发者使用的操作与控件。在新版本内,我们添加了新的操作与执行控件,借以优化以下常见用例:

  • 服务质量API,用于支持模型执行的优先级与超时情况。
  • 内存域API,用于减少连续模型执行带来的内存复制与转换操作。
  • 扩展量化支持,我们添加了 signed integer asymmetric quantization,它能在缩小模型体积的同时加快推理速度。

感兴趣的朋友可以点击此处查看NDK示例代码,其中包含与上述新API相关的应用示例。

在今后的预览更新中,我们将发布更多相关信息。我们正在与硬件供应商以及各大主流机器学习框架(例如TensorFlow)团队开展合作,希望优化并实现对NNAPI 1.3的支持。

五、隐私性与安全性

隐私

隐私一直是Android系统中的核心,每年我们都在尝试多种方法,来保护用户安全并提高系统的透明度与可控性。

其中不少变更受到用户的积极响应——例如在Android 10中,我们添加了“While app is in use”权限选项,帮助用户更精细地控制应用位置并限制后台位置访问。

到目前为止,约有半数用户会选择启用“While app is in use”选项。

在Android 11中,我们通过新的权限选项、范围存储更新等机制继续关注用户隐私保护。

一次性权限

对于最敏感的数据类型——除位置外,还包括设备的麦克风与摄像头启用——用户现在可以通过一次性授权方式将其临时开启。

这项权限意味着应用程序能暂时访问数据,但在用户退出应用后,授权即告结束。再次使用时,应用程序必须重新请求权限才能再次获取这部分数据。

*Android 11中的一次性权限对话框。*

范围存储

我们将继续努力,更好地保护外部存储介质上的应用程序与用户数据,同时不断为开发者提供更加轻松可行的迁移选项。

此次预览版中包含多项增强功能,例如在存储介质选择中添加原始文件路径访问、DocumentsUI更新,以及MediaStore中的批处理编辑操作等等。

除以上变更外,用户还提到希望在Android的早期发布版本中获得更多保护,并希望强化应用程序的数据使用透明度。因此,我们正着手更新Google Play政策,希望确保应用程序只在必要时才会提出位置数据权限申请。

安全性

我们专注于提高各个Android版本的安全性标准——包括在更多设备类型上发布月度安全更新,以及为最新平台构建更多保护功能等。

在Android 11中,我们将Android的纵深防御策略扩展到移动平台上的更多区域之内,同时为应用添加了新的安全选项及配套API。

生物特征识别

我们扩展了系统对于生物特征识别的支持能力,以满足各类设备的实际需求。

BiometricPrompt现在支持三种不同细化度的身份验证类型——具体分为强、弱以及设备凭证。我们还将BIometricPrompt流与应用程序的“活动”生命周期剥离开来。

换句话说,所有使用生物特征识别的应用都将转向BiometricPrompt API。还有一个好消息,此API将入驻AndroidX,因此早期版本的Android系统也将兼容这项新功能。

平台强化

我们在各项关键安全组件(包括BoundSan、IntSan、CFI以及Shadow-Call Stack)中扩展了基于编译器的清理器使用范围。

同时,我们还为只支持Android 11或更高版本的应用程序启用堆指针标记,旨在协助捕捉应用中产生的内存问题。

这些经过强化的改进有望在代码层面暴露出更多可重复/可再现的应用程序崩溃情况,进而降低应用程序的测试难度。

我们已经利用HWAsan查找并修复了系统中的大量内存错误,现在我们正式提供支持HWAsan的系统镜像,相信能够帮助更多朋友在应用程序中识别出此类问题。

存储与共享数据保护

应用程序现在可以通过BlobstoreManager与其他应用程序轻松安全地实现data blob共享。

Blob存储特别适合同一用户在多款应用之间共享同一组机器学习模型这类用例。

身份凭证

Android 11在系统平台上添加了对安全存储与可验证身份凭证(例如符合ISO 18013-5的汽车驾驶许可证)的检索支持。

六、更新与兼容性

Google Play系统更新

从Android 10开始,我们一直扩大对Google Play系统更新(项目主线)的投入力度,希望提升整个生态系统的安全性、隐私性与一致性。

由于与设备制造商之间的紧密合作,我们已经在这方面取得重大进展,并通过基础设施扩展将Google Play更安全、更快速地推向更广泛的设备类型。

在Android 11中,我们添加12项新的可更新模块,意味着目前Google Play的总模块数已经达到22个。

更新重点包括一个用于在Android设备上对用户及开发者指向关键隐私控件的访问权限进行标准化管理的模块;一个用于在存储层面保护隐私的介质提供方模块;以及一个负责优化性能并保证跨API一致性的NNAPI(神经网络API)模块。

应用兼容性

在发布新平台版本前,我们还会优先考虑应用程序的兼容性,借此保证更新后的运行速度与流畅性。

在Android 11中,我们添加新的进程、开发者工具以及发布里程碑,希望尽可能减少平台更新对应用性能造成的影响。

尽可能降低行为变更造成的影响:

虽然我们对Android做出的各项变更能提升系统实用性、安全性与性能水平,但也有部分变更可能影响开发者的应用体验。

在构建Android 11时,我们在这方面投入大量精力,认真观察系统变更对应用程序运行产生的影响,并尽可能将新功能设定为“可选”项目——只有在应用中将targetSdkVersion设置为“R”,开发者才会真正使用到这些新特性。

这将把变更对应用程序行为的影响降至最低。我们希望为开发者们赋予更多控制权,保证有更多应用程序能在Android 11上实现开箱即用。

降低测试与调试难度

为帮助大家轻松测试应用兼容性,我们为多项重大变更提供可切换选项,因此大家能通过开发者选项或者adb强制启用/禁用这些变更。

如此一来,你无需变更targetSdkVersion或者重新编译应用,即可实现对应用程序的基本测试。

开发者选项中的应用兼容性切换功能。

灰名单更新

我们更新了受限非SDK接口,同时也欢迎大家就是否需要使用等效公共API向我们提交反馈意见。

动态资源加载器

作为非SDK接口的替代性举措之一,开发者们要求我们提供公共API,借此在运行时内动态加载资源与资产。如大家所愿,我们在Android 11中添加了Resource Loader框架,同时也感谢各位提供反馈的开发者朋友!

新的平台稳定性里程碑

开发者们提醒我们,由于缺少明确的最终变更日期,在以往Android版本上实现应用程序的早期兼容性一直非常困难。

因此,在Android 11中,我们添加了新的“平台稳定性”里程碑。该里程碑有望在今年6月初实现,其中不仅包含最终SDK/NDK API,同时也将提供可能影响应用程序运行效果的最终内部API与系统行为设计。

七、细节改进与质量提升

连接

改进来电筛选服务

来电筛选应用现在可以更全面地服务于用户。应用程序能将来电的STIR/SAKEN验证状态作为细节信息的一部分,同时对系统提供的来电筛选显示界面进行自定义,允许用户将来电标记为垃圾信息或者添加到联系人等等。

Wi-Fi提示API增强

我们扩展了Wi-Fi提示API,确保连接管理应用具有更强大的网络自主管理能力。

例如,该应用可以关闭网络建议、管理Passpoint网络、接收关于已连接网络的更多质量信息,并通过其他管理变更强制断开当前连接。

Passpoint增强

Android现在会强制执行并通知Passpoint配置文件的到期日期,支持在配置文件中应用Common Name规范,并允许Passpoint R1配置文件使用具有自签名的专用CA。

连接应用现在可利用Wi-Fi提示API管理Passpoint网络。

图像与摄像头改进

HEIF可绘制动画对象

ImageDecoder API现在允许开发者解码并渲染存储在HEIF文件中的图像序列动画,从而在使用高质量素材的同时,最大程度降低对网络数据及apk大小的影响。

与GIF动图相比,HEIF图像序列能大幅削减文件体积。开发者可以使用HEIF源调用encodeDrawable,轻松在自己的应用程序内显示HEIF图像序列。如果源中包含图像序列,则返回AnimatedImageDrawable。

原生图像解码器

新的NDK API使应用程序能通过原生代码解码与编码图像(JEPF、PNG、WebP等)实现图形生成或后期处理。

由于无需捆绑外部库,你的apk文件将得到有效瘦身。这款原生解码器还将充分利用Android系统中的平台安全更新。

拍摄静音机制

利用新的API,应用将在会话处于活动状态时,自动关闭由铃声、警报或者通知带来的声音/振动提醒。

Bokeh modes

应用可以利用元数据标签在受支持的设备上实现Bokeh拍摄模式。其中静态图像模式将带来更高的拍摄质量,而连续拍摄模式也可保证捕捉内容与传感器输出(例如视频捕捉)严格保持同步。

低延迟

MediaCodec中的低延迟视频解码

低延迟视频功能对于实时视频流应用以及Stadia云游戏等服务至关重要。

支持低延迟播放的视频编/解码器在解码开始后,会尽快返回视频流的第一帧。应用程序能利用新的API检查并配置特定编/解码器中的低延迟播放功能。

HDMI低延迟模式

应用可利用新的API在外部显示器及电视设备上检查并申请开启自动低延迟模式(也称游戏显示模式)。在此模式下,显示器或电视会禁用图像后处理功能,以最大程度降低延迟水平。

关于新版本的更多相关信息,请参阅Android 11开发者网站。其中包含版本新增功能、行为变更细节、设置与迁移指南、发布说明以及反馈渠道等一系列重要内容。

  • 发表于:
  • 本文为 InfoQ 中文站特供稿件
  • 首发地址https://www.infoq.cn/article/5GHWcb2CzUu0lHVBk7Qr
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券