作者 / Stephanie Cuthbertson,产品治理总监
Android 11 来了!明天咱们将源码推送至 Android 开源我的项目 (AOSP),正式为大家带来最新版本的 Android。咱们在打造 Android 11 时,重点关注了三个主题: 以人为本 的沟通形式、让用户快速访问和 灵便管制 所有智能设施,以及让用户有更多形式管制设施上的数据如何共享的 隐衷平安。请浏览咱们的 官网博客文章 理解详情。
对于开发者来说,Android 11 带来了大量的新性能,包含会话告诉、设施和媒体管制、单次权限、加强的 5G 反对、IME 切换成果等,欢送大家踊跃尝试。为了帮忙您更快地推动开发工作,咱们还增加了新的工具,如兼容性开关、ADB 增量装置、利用退出起因 API、数据拜访审核 API、Kotlin 可空性注解等。这些工作都是为了让开发者们能青睐 Android 11,咱们十分期待在下面看到您的作品!
正式版本的 Android 11 也行将在您身边的设施上闪亮退场,Pixel 2、3、3a、4 和 4a 系列设施明天就能开始更新。请拜访 Android 11 开发者网站 理解详情。
以人为本、灵便管制与隐衷平安
以人为本
Android 11 致力于凸显人的因素,且长于沟通。咱们重塑了您在手机上进行沟通的形式,也让操作系统能辨认出那些对您来说更重要的人,让您能更疾速地和他们分割。对于开发者来说,Android 11 能够帮忙您在利用中实现更深刻的会话和更个性化的互动体验。
- 会话告诉 会显示在告诉栏顶部的专门区域,其设计更凸显分割对象,且提供了会话特定的操作,例如以 Bubbles 的模式关上聊天、在主屏幕中创立会话快捷方式,以及设置揭示。
- Bubbles 能够让用户在手机上进行多任务切换时仍然放弃对话可见并且可交互。音讯和聊天利用能够通过基于告诉的 Bubbles API,在 Android 11 上提供这种全新体验。
- 键盘提醒整合性能 能够让主动填写利用以及 IME (输入法编辑器) 在 IME 倡议栏中平安地向用户提供基于上下文的实体和字符串,使得输出更加便当。
△ Bubbles 和以人为本的会话
灵便管制
Android 11 让用户们得以快速访问所有的智能设施,并集中控制它们。开发者们则能够通过全新的 API 来帮忙用户管制智能设施和治理媒体播放:
- 设施管制 (Device Controls ) 让用户得以更快、更轻松地拜访和管制他们连贯的设施。只需长按电源按钮就能够调出设施管制菜单,一站式实现设施管制。利用也能够通过新的 API 呈现在这个管制菜单中。详细信息请拜访 官网文档。
- 媒体管制 (Media Controls ) 让用户得以更快捷地切换音频和视频内容的播放设施——不论是耳机、麦克风还是电视。详细信息请拜访官网文档。
△ 设施管制和媒体管制
隐衷平安
在 Android 11 中,咱们为用户带来了更高的掌控能力,让他们能更好地治理敏感权限。咱们还会通过更疾速的更新来继续确保设施平安。
单次受权 – 用户当初能够授予利用一次性的权限来拜访设施的麦克风、摄像头或者地位信息。利用下次被应用时须要再次申请权限。详细信息请拜访 官网文档。
△ Android 11 中的单次受权对话框
后盾地位 – 想拜访后盾地位信息当初须要用户在授予运行时权限外进行更进一步的操作。如果您的利用须要拜访后盾地位信息,零碎会要求您必须先申请前台地位权限。您能够通过 独自的权限申请 来进一步要求拜访后盾地位信息,零碎会将用户带到设置页面 (Settings) 中实现受权操作。
另外须要留神的是,咱们在往年二月发表,Google Play 开发者须要取得批准后才能够让利用在后盾拜访地位信息,以避免滥用。当初咱们为开发者提供更长的工夫来做出批改,在 2021 年之前咱们不会强行要求现有的利用恪守本政策。详细信息请拜访 官网文档。
权限主动重置 – 如果用户在很长一段时间里未应用某利用,Android 11 将 “ 主动重置 ” 所有与该利用关联的运行时权限并告诉用户。在用户下次应用该利用时,利用能够再次申请权限。详细信息请拜访 官网文档。
分区存储 – 咱们始终在致力更好地爱护内部存储上的利用和用户数据,还退出了更多的改良以便让开发者更轻松地进行迁徙。详细信息请拜访 官网文档。
Google Play 零碎更新 – 自去年公布以来,Google Play 零碎更新让咱们能更疾速地更新操作系统外围组件,并笼罩 Android 生态系统中的泛滥设施。在 Android 11 中,可更新的模块数量减少了一倍无余,新增的 12 个可更新模块,为用户和开发者带来更好的隐衷性、安全性和一致性。
BiometricPrompt API – 开发者当初能够通过 BiometricPrompt API 来指定其利用所需的生物辨认身份验证强度类型,用来解锁或者拜访利用中的敏感内容。为了向下兼容,咱们也将这些性能退出到了 Jetpack Biometric 开发库 中。随着工作的停顿,咱们会为大家带来进一步的更新。
身份认证 API (Identity Credential API ) – 这个 API 会带来全新的应用场景,反对包含驾驶执照、国民身份证和数字身份证。咱们正在与各政府机构和行业搭档单干,以确保 Android 11 为数字化身份认证体验做好筹备。
在 这里 浏览无关 Android 11 隐衷性能的详细信息。
实用翻新
更强的 5G 反对 – Android 11 能够让开发者利用 5G 网络更快的速度和更低的提早。您能够通晓用户何时 连贯到 5G 网络,查看 连贯是否处于计费状态,并且 估测连贯的带宽。为了帮忙您即刻打造 5G 体验,咱们也在 Android Emulator 中退出了 5G 反对。请拜访 5G 开发者网页,理解如何在 Android 上应用 5G 性能。
△ 将高速体验带出家门,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、沉迷模式等。浏览 这篇博文 理解更多。
△ 左侧示意: 通过边衬区动画监听器实现 IME 同步切换成果 右侧示意: 通过 WindowInsetsAnimationController 实现利用驱动的 IME 体验
HEIF 动画可绘制对象 – ImageDecoder API 当初容许您解码和渲染存储在 HEIF 文件中的图像序列动画,不便您引入高品质的素材,同时最大水平地缩小流量耗费和 APK 尺寸。绝对于 GIF 动画,HEIF 图像序列能够显著减小文件尺寸。
原生图像解码器 – 利用能够应用新的 NDK API 来通过原生代码解码和编码图像 (如 JPEG、PNG、WebP),以便进行图形或前期解决,而且因为您无需捆绑内部代码库,从而得以放弃较小的 APK 尺寸。原生解码器还能够从 Android 继续的平台安全更新中获益。咱们提供了 NDK 样例代码 作为应用参考。
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 行将到达用户手中,当初是时候 实现您的兼容性测试并公布更新 了。
请首先关注 针对所有利用的行为变更:
上面是首先须要关注的行为变更 (无论您利用的 targetSdkVersion 是多少):
- 单次权限 – 当初,用户能够为地位信息、设施麦克风和摄像头授予单次应用权限。详细信息请拜访 官网文档
- 内部存储拜访权限 – 利用无奈再拜访内部存储空间中其余利用的文件。详细信息请拜访 官网文档
- Scudo Hardened Allocator – 当初它是利用内原生代码的堆内存分配器。详细信息请拜访 官网文档
- 文件描述符排查器 – 此性能当初默认启用,以检测利用原生代码的文件描述符处理错误。详细信息请拜访 官网文档:
Android 11 中还有许多 可抉择反对的行为变更 – 您的利用如果针对新平台公布,才会受到影响。咱们倡议在您公布利用的兼容版本后尽快评估这些变更。无关兼容性测试和工具的更多信息,请查看 Android 11 兼容性相干的资源,并拜访 Android 11 开发者网站 理解技术细节。
应用新性能和 API 改良您的利用
准备就绪后,请深入研究 Android 11 并理解您能够应用的 新性能和 API。上面是一些您能够优先思考的重点性能。
咱们举荐所有利用反对这些性能:
- 深色主题 (自 Android 10 开始反对) – 通过增加 Dark Theme (深色主题) 或启用 Force Dark,确保为启用全零碎深色主题的用户提供统一的体验。
- 手势导航 (自 Android 10 开始反对) – 请反对手势导航,包含提供边到边的沉迷式体验,以及确保自定义手势与默认手势配合良好。详细信息请拜访 官网文档:
- 共享快捷方式 (自 Android 10 开始反对) – 想要接管共享数据的利用应该应用 共享快捷方式 API 来创立共享指标。想要发送共享数据的利用应确保应用 Android Sharesheet。
- 同步 IME 切换成果 – 应用新的 WindowInsets 和相干 API 为用户提供晦涩的切换成果。详细信息请浏览 这篇博文。
- 新的屏幕类型 – 对挖孔屏或瀑布屏设施,请确保依据须要针对这些屏幕测试和调整您的内容。详细信息请拜访 官网文档。
咱们还举荐这些性能,如果它们和您的利用体验符合的话:
- 会话 – 音讯和通信利用能够通过提供长效 共享快捷方式 和在告诉中出现对会话来融入用户的对话体验。详细信息请拜访 官网文档。
- 聊天气泡 (Bubbles ) – Bubbles 能够在多任务切换时仍然放弃对话可见及可用。利用通过基于告诉的 Bubbles API 来实现此性能。
- 5G – 如果您的利用或内容能够利用 5G 更快的速度和更低的提早,请参考咱们的 开发者资源,开始构建 5G 体验。
- 设施管制 – 如果您的利用反对内部智能设施,请确保这些设施能够从新的 Android 11 设施管制菜单拜访。详细信息请拜访 官网文档。
- 媒体管制 – 对于媒体利用,咱们倡议反对 Android 11 媒体管制,这样用户就能够从疾速设置 (Quick Settings) 菜单中治理媒体播放。详细信息请拜访 官网文档。
您能够返回 developer.android.google.cn/11 理解更多无关 Android 11 性能的信息。
Android 11 行将呈现在您身边的设施上!
Android 11 将从明天开始在选定的 Pixel、一加、小米、OPPO 和 realme 手机上陆续推出,将来几个月将有更多合作伙伴推出以及降级设施。如果您领有 Pixel 2、3、3a、4 或 4a 系列手机,包含那些加入了往年 Beta 测试计划的手机,请关注行将到来的 OTA 更新!
Pixel 设施的 Android 11 出厂零碎映像也能够通过 Android Flash Tool 取得,您也能够在 这里 下载。和以往一样,您能够通过 Android Studio 中的 SDK Manager 取得最新的 Android 模拟器零碎映像。如果您想在其余反对 Treble 的兼容设施上进行更宽泛的测试,能够在 这里 获取通用零碎映像 (GSI)。
如果您须要 Android 11 的源代码,能够在 Android 开源我的项目 repo 的 Android 11 分支下的 这个地址 获取。
下一步是什么?
咱们很快会敞开预览版问题反馈通道,并革除针对开发者预览版或 Beta 版的凋谢 Bug,如果您再次发现了已经在预览版期间提交过的问题,请在 AOSP 问题反馈表单中针对 Android 11 提交新的错误报告,心愿您持续为咱们提供反馈意见!
再次感激往年参加预览打算的泛滥开发者和晚期体验者!大家为咱们提供了十分好的反馈,助力咱们打磨产品。正是大家提交的数以千计的问题报告将 Android 11 打造成了一个更好、更适宜用户的平台。
期待在 Android 11 上看到大家的利用!