昨天,谷歌发表推出 Android 11 正式版,次要增强了聊天气泡、平安隐衷、电源菜单,以及对瀑布屏、折叠屏、双屏的反对。Pixel、一加、小米、OPPO、realme 手机用户将在将来几天收到更新推送,其余手机用户将在将来几个月内收到更新推送。开发者能够通过 Android 开源我的项目 (AOSP)来下载最新的源代码。
比照最近两年公布的几个版本能够发现,安卓零碎其实变动不是很大,底层扭转也不是很多,更新的内容次要是围绕着音讯、隐衷和如何更好地管制所有的智能设施来开发的。上面让咱们来具体看一下 Android 11 的一些新个性。
以人为本、灵便管制与隐衷平安
以人为本
Android 11 致力于凸显人的因素,并且更好的进行沟通,因而,Android 11 重塑了手机上进行沟通的形式,也让操作系统能辨认出那些对您来说更重要的人,让您能更疾速地和他们分割。对于开发者来说,Android 11 能够帮忙您在利用中实现更深刻的会话和更个性化的互动体验。次要体现在以下几个方面:
会话告诉 :会显示在告诉栏顶部的专门区域,其设计更凸显分割对象,且提供了会话特定的操作,例如以 Bubbles 的模式关上聊天、在主屏幕中创立会话快捷方式,以及设置揭示。
Bubbles:能够让用户在手机上进行多任务切换时仍然放弃对话可见并且可交互。音讯和聊天利用能够通过基于告诉的 Bubbles API,在 Android 11 上提供这种全新体验。
键盘提醒整合性能:能够让主动填写利用以及 IME (输入法编辑器) 在 IME 倡议栏中平安地向用户提供基于上下文的实体和字符串,使得输出更加便当。
灵便管制
Android 11 让用户们得以快速访问所有的智能设施,并集中控制它们。开发者们则能够通过全新的 API 来帮忙用户管制智能设施和治理媒体播放。
设施管制 (Device Controls):让用户得以更快、更轻松地拜访和管制他们连贯的设施。只需长按电源按钮就能够调出设施管制菜单,一站式实现设施管制。利用也能够通过新的 API 呈现在这个管制菜单中,详情能够查看官网文档。
媒体管制 (Media Controls):让用户得以更快捷地切换音频和视频内容的播放设施——不论是耳机、麦克风还是电视,详情查看官网文档。
隐衷平安
Android 11 对权限管进行了降级,能够让咱们更好地治理敏感权限。
单次受权 :用户当初能够授予利用一次性的权限来拜访设施的麦克风、摄像头或者地位信息。利用下次被应用时须要再次申请权限。详细信息请拜访 官网文档。
后盾地位:如果想拜访后盾地位信息,当初须要用户在授予运行时权限外进行更进一步的操作。如果您的利用须要拜访后盾地位信息,零碎会要求您必须先申请前台地位权限。您能够通过 独自的权限申请 来进一步要求拜访后盾地位信息,零碎会将用户带到设置页面 (Settings) 中实现受权操作。
另外须要留神的是,咱们在往年二月发表,Google Play 开发者须要取得批准后才能够让利用在后盾拜访地位信息,以避免滥用。当初咱们为开发者提供更长的工夫来做出批改,在 2021 年之前咱们不会强行要求现有的利用恪守本政策。详细信息请拜访 官网文档。
权限主动重置:如果用户在很长一段时间里未应用某利用,Android 11 将 “ 主动重置 ” 所有与该利用关联的运行时权限并告诉用户。在用户下次应用该利用时,利用能够再次申请权限。详细信息请拜访 官网文档。
分区存储:Android 始终在致力更好地爱护内部存储上的利用和用户数据,还退出了更多的改良以便让开发者更轻松地进行迁徙。详细信息请拜访 官网文档。
Google Play 零碎更新:自去年公布以来,Google Play 零碎更新让咱们能更疾速地更新操作系统外围组件,并笼罩 Android 生态系统中的泛滥设施。在 Android 11 中,可更新的模块数量减少了一倍无余,新增的 12 个可更新模块,为用户和开发者带来更好的隐衷性、安全性和一致性。
BiometricPrompt API:开发者当初能够通过 BiometricPrompt API 来指定其利用所需的生物辨认身份验证强度类型,用来解锁或者拜访利用中的敏感内容。为了向下兼容,咱们也将这些性能退出到了 Jetpack Biometric 开发库 中。随着工作的停顿,咱们会为大家带来进一步的更新。
身份认证 API (Identity Credential API) – 这个 API 会带来全新的应用场景,反对包含驾驶执照、国民身份证和数字身份证。咱们正在与各政府机构和行业搭档单干,以确保 Android 11 为数字化身份认证体验做好筹备。
实用翻新
更强的 5G 反对:Android 11 能够让开发者利用 5G 网络更快的速度和更低的提早。您能够通晓用户何时 连贯到 5G 网络,查看 连贯是否处于计费状态,并且 估测连贯的带宽。为了帮忙您即刻打造 5G 体验,咱们也在 Android Emulator 中退出了 5G 反对。请拜访 5G 开发者网页,理解如何在 Android 上应用 5G 性能。
新的屏幕类型:设施厂商们也在继续进行翻新,将新的屏幕状态投入市场,包含挖孔屏和瀑布屏。Android 11 曾经在平台中减少了对这些屏幕的反对,并提供了相应的 API 不便您优化利用。您能够通过现有的 Display Cutout API 来治理挖孔屏和瀑布屏。您能够通过设置 新的窗口布局属性 来应用整个瀑布屏,并通过 瀑布屏边衬区 (insets) API 来治理屏幕边缘左近的互动。
呼叫过滤服务:Android 11 能够帮忙呼叫过滤利用更好地治理骚扰电话。利用在呼叫详细信息中能够获取复电的 STIR/SHAKEN 验证状态 (这个规范能够避免复电 ID 欺诈),并能报告拒接来电的起因。利用还能够自定义零碎提供的 呼叫后屏幕 (post call screen),不便用户执行诸如 “ 将呼叫方标记为骚扰电话 ” 或 “ 增加到联系人 ” 之类的操作。
优化与品质
操作系统弹性:在 Android 11 中,咱们通过对内存回收操作 (比方依据 RSS HWM 阈值强制用户无奈感知的过程重启) 进行微调,使操作系统整体更具动态性和弹性。另外,为了改善性能和内存的应用,Android 11 还减少了 Binder 缓存,通过缓存那些检索绝对静态数据的零碎服务,优化了使用率高的 IPC 调用。Binder 缓存还通过缩小 CPU 工夫缩短了电池寿命。
同步 IME 切换成果:这是一组全新的 API,让您能够在 IME (输入法编辑器,也叫软键盘) 和零碎栏进出屏幕时同步调整利用中的内容,从而更轻松地创立出天然、直观、晦涩的 IME 切换成果。为了确保切换时做到逐帧准确,新的 WindowInsetsAnimation.Callback API 会在零碎栏或 IME 挪动时逐帧告知利用边衬区的变动。此外,您能够通过新的 WindowInsetsAnimationController API 控制系统 UI,包含零碎栏、IME、沉迷模式等。
HEIF 动画可绘制对象:ImageDecoder API 当初容许您解码和渲染存储在 HEIF 文件中的图像序列动画,不便您引入高品质的素材,同时最大水平地缩小流量耗费和 APK 尺寸。绝对于 GIF 动画,HEIF 图像序列能够显著减小文件尺寸。
原生图像解码器:利用能够应用新的 NDK API 来通过原生代码解码和编码图像 (如 JPEG、PNG、WebP),以便进行图形或前期解决,而且因为您无需捆绑内部代码库,从而得以放弃较小的 APK 尺寸。原生解码器还能够从 Android 继续的平台安全更新中获益。
MediaCodec 中的低提早视频解码:低提早视频对于 Stadia 等实时视频流利用和服务至关重要。反对低提早播放的视频编解码器会在解码开始后尽快返回流的第一帧。利用能够应用新 API 来针对特定编解码器 查看 和 配置 低提早播放。
可变刷新率:利用和游戏当初能够通过 新的 API 为其窗口设置首选帧率。大多数 Android 设施以 60Hz 的刷新率更新屏幕,然而某些设施反对多种刷新率,例如 90Hz 和 60Hz,并可在运行时切换。在这些设施上,零碎会基于首选帧率来为利用抉择最佳刷新率。您能够通过 SDK 和 NDK 来应用该 API。
动静资源加载器:Android 11 提供了一个新的公开 API 来让利用在运行时动静加载资源和素材。通过 Resource Loader 框架,您能够在利用或游戏中蕴含一套根本资源,而后在运行时依据须要加载其余资源,或更改已加载的资源。
Neural Networks API (NNAPI) 1.3:咱们继续减少算子和管制,以反对 Android 设施上的机器学习。为了优化常见的应用场景,NNAPI 1.3 减少了优先级和超时、内存域 (memory domains) 以及异步指令队列的 API。新的算子反对蕴含有符号整数非对称量化以及分支和循环的高级模型,hard-swish 算子则能够用于减速下一代设施上视觉模型 (如 MobileNetV3)。
开发者体验
利用兼容性工具:咱们致力将大多数 Android 11 行为变更设置为可抉择开启,从而最大限度地缩小对兼容性带来的影响,除非您将利用的 targetSdkVersion 设置为 30,否则这些变更不会失效。如果您是通过 Google Play 公布利用,则有一年多的工夫来抉择反对这些变更,但咱们倡议尽早开始测试。为了帮忙您进行测试,Android 11 容许您独自开启或敞开其中的许多变更。详细信息请拜访 官网文档。
利用退出起因:理解利用退出的起因以及过后的状态非常重要——包含利用所在的设施类型、内存配置和运行场景。Android 11 通过 退出起因 API 让这个事件变得更加容易: 您能够应用该 API 来查看利用最近退出的 详细信息。
数据拜访审核:数据拜访审核能够让您更好地理解本人的利用拜访用户数据的状况,以及拜访来自的用户流程。例如,它能帮您辨认无心的公有数据拜访,不管其来自于您本人的代码还是其余 SDK。详细信息请拜访 官网文档。
ADB 增量装置 (ADB Incremental):在开发过程中应用 ADB (Android Debug Bridge) 装置体积较大的 APK 可能会拖慢速度,影响您的工作效率,对 Android 游戏开发者而言尤其如此。Android 11 带来了 ADB Incremental,当初从开发机向 Android 11 设施上部署大型 APK (2GB 以上) 的速度能够进步 10 倍之多。
Kotlin 可空性注解:Android 11 为公共 API 中的更多办法减少了可空性注解。而且,它将一些现有的注解从正告降级为谬误。这能够帮忙您在构建时就发现问题,不必等到运行时才出错。浏览 此文 理解更多。
Android 11 适配
兼容性适配
随着 Android 11 版本的公布,当初你能够进行利用的兼容性测试并公布更新的利用了。
作为一个 Android 开发者,你须要重点关注 针对所有利用的行为变更,重点关注以下几个方面的适配。
单次权限 :当初,用户能够为地位信息、设施麦克风和摄像头授予单次应用权限。
内部存储拜访权限 :利用无奈再拜访内部存储空间中其余利用的文件。
Scudo Hardened Allocator:当初它是利用内原生代码的堆内存分配器。
文件描述符排查器:此性能当初默认启用,以检测利用原生代码的文件描述符处理错误。
应用新性能和 API 改良您的利用
Android 11 提供了很多的 新性能和 AP,上面是一些您能够优先思考的重点性能。
深色主题 (自 Android 10 开始反对):通过增加 Dark Theme (深色主题) 或启用 Force Dark,确保为启用全零碎深色主题的用户提供统一的体验。
手势导航 (自 Android 10 开始反对):请反对手势导航,包含提供边到边的沉迷式体验,以及确保自定义手势与默认手势配合良好。
共享快捷方式 (自 Android 10 开始反对):想要接管共享数据的利用应该应用 共享快捷方式 API 来创立共享指标。想要发送共享数据的利用应确保应用 Android Sharesheet。
同步 IME 切换成果 :应用新的 WindowInsets 和相干 API 为用户提供晦涩的切换成果。
新的屏幕类型:对挖孔屏或瀑布屏设施,请确保依据须要针对这些屏幕测试和调整您的内容。详细信息请拜访 官网文档。
除此之外,Android 11 还在以下性能上做了改良和优化。
会话 :音讯和通信利用能够通过提供长效 共享快捷方式 和在告诉中出现对会话来融入用户的对话体验。
聊天气泡 (Bubbles):Bubbles 能够在多任务切换时仍然放弃对话可见及可用。利用通过基于告诉的 Bubbles API 来实现此性能。
5G:如果您的利用或内容能够利用 5G 更快的速度和更低的提早,请参考咱们的 开发者资源,开始构建 5G 体验。
设施管制 :如果您的利用反对内部智能设施,请确保这些设施能够从新的 Android 11 设施管制菜单拜访。
媒体管制:对于媒体利用,咱们倡议反对 Android 11 媒体管制,这样用户就能够从疾速设置 (Quick Settings) 菜单中治理媒体播放。
参考:Android 11 Beta 版