首页 >> 职场 >> Android R (Android 11) 的新功能简述 和 API 简述

Android R (Android 11) 的新功能简述 和 API 简述

2024-12-30 职场

职权。

液体特性有多项改进型,今日理应用程序可以非常敏捷地在每个理应用领域当中开业和转用液体特性。对于做到了实验性背书的微软,Android 11 当中的 API 有一些变非常:

不带参多达的 BubbleMetadata.Builder() 构造参多达已弃用。特地改为运用于 BubbleMetadata.Builder(PendingIntent, Icon) 和 BubbleMetadata.Builder(String) 这两个最初构造参多达当中的至多一个。

通过线程 BubbleMetadata.Builder(String),六根据快捷作法 ID 创建人 BubbleMetadata。传播的运算符理应与给予给 Notification.Builder 的快捷作法 ID 一致。

运用于 Icon.createWithContentUri() 或技术开发手段 createWithAdaptiveBitmapContentUri() 创建人液体自定义。

5G 自定义结果显示

在 Android 11(API 层次 30)及非常高修正版当中,带有 android.Manifest.permission.READ_PHONE_STATE 职权的理应用领域可以通过 PhoneStateListener.onDisplayInfoChanged() 特地求备份电广府结果显示反馈,其当中仅限于运用于营销和护肤品刻划的无线并行技术开发反馈。

这款最初 API 给予了适运用于相同移动电话的各种 5G 自定义结果显示理应对计划。背书的技术开发仅限于:

LTE采用载波催化技术开发的 LTE (LTE+)高级专业版 LTE (5Ge)NR (5G)远红外线行进网路频段上的 NR (5G+)个人个人信息

Android 11 导入了大量变非常和约束,用意是加极强理应用程序个人信息保护

安全生物标识SSL程序备份

为了协助您操纵理应用领域多达据托的安全层次,Android 11 对生物标识SSL程序顺利进行了多项改进型

SSL特性

Android 11 导入了 BiometricManager.Authenticators 接口,该接口概念了 BiometricManager 类背书的SSL特性:

BIOMETRIC_STRONG

运用于满足兼容性概念页面上概念的极强低压层次要求的驱动程序金属元素顺利进行SSL。

BIOMETRIC_WEAK

运用于满足兼容性概念页面上概念的较弱低压层次要求的驱动程序金属元素顺利进行SSL。

DEVICE_CREDENTIAL

运用于LCD幕锁死理理应(即理应用程序的 PIN UTF-、DLC花纹或)顺利进行SSL。

如须要概念您的理应用领域遵从的生物标识SSL特性,特地向 setAllowedAuthenticators() 原理传播一个SSL特性或按位特性三组合成。例如,如果您的理应用领域遵从“极强”驱动程序金属元素或LCD幕锁死理理应,特地传入 BIOMETRIC_STRONG | DEVICE_CREDENTIAL。

如须要检验到底有前提的SSL金属元素,特地将同一按位特性三组合成传入 canAuthenticate() 原理。如有前提,特地线程 ACTION_BIOMETRIC_ENROLL intent 调用。在 intent extra 当中,给予您的理应用领域可遵从的一三组SSL内置。该 intent 才会示意理应用程序为您的理应用领域遵从的SSL内置登记注册理理应。

警惕:为了登记注册SSL内置,理应用程序能够要创建人 PIN UTF-、DLC花纹或。如果理应用程序还并从未 PIN UTF-、DLC花纹或,生物标识登记注册流步骤才会示意他们创建人一个。

在理应用程序顺利进行SSL后,您可以通过线程 getAuthenticationType() 检验理应用程序是运用于电源理理应还是生物标识理理应顺利进行的SSL。

对“每次运用于时顺利进行SSL”的额外背书

Android 11 在 BiometricPrompt 类当中给予了对“每次运用于时顺利进行SSL”的非常多背书。此类要求每次您的理应用领域能够要会面受该保护的多达据托时,理应用程序都能够给予生物标识理理应、电源理理应或上述任一理理应。“每次运用于时顺利进行SSL”对高实用价多达值的事务(如偿还一大笔钱款项或备份个人的肥胖副本)很简便。

如须要将 BiometricPrompt 具体来说与“每次运用于时顺利进行SSL”相联系,特地去掉完全相同表列的code:

KOTLIN

JAVA" cid="n465" mdtype="fences" candidate-entity-word" qid="6581850059577496845" mention-index="0">padding: 8px 4px 6px; margin-bottom: 15px; margin-top: 15px; width: inherit; color: rgb(51, 51, 51); font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial;">KeyGenParameterSpec authPerOpKeyGenParameterSpec = new KeyGenParameterSpec.Builder("myKeystoreAlias", key-purpose) // Accept either a biometric credential or a device credential. // To accept only one type of credential, include only that type as the // 2nd argument. .setUserAuthenticationParameters(0 /* duration */, KeyProperties.AUTH_BIOMETRIC_STRONG | KeyProperties.AUTH_DEVICE_CREDENTIAL) .build();

JAVA

KeyGenParameterSpec authPerOpKeyGenParameterSpec = new KeyGenParameterSpec.Builder("myKeystoreAlias", key-purpose) // Accept either a biometric credential or a device credential. // To accept only one type of credential, include only that type as the // 2nd argument. .setUserAuthenticationParameters(0 /* duration */, KeyProperties.AUTH_BIOMETRIC_STRONG | KeyProperties.AUTH_DEVICE_CREDENTIAL) .build();已弃用的原理

Android 11 弃用了表列原理:

setDeviceCredentialAllowed() 原理。setUserAuthenticationValidityDurationSeconds() 原理。不带任何参多达的 canAuthenticate() 接地修正版。安全对等大型多达据托集

在某些意味著,例如涉及机内置修习或新闻媒体放映时,您的理应用领域意味著能够要与其他理应用领域运用于同一个大型多达据托集。在较就有的 Android 修正版当中,您的理应用领域与其他理应用领域能够要各自单独下载该多达据托集。

为协助下降网路当中和文件系统上的多达据托冗余,Android 11 受约束运用于对等多达据托 blob 在电源上缓存这些大型多达据托集

因 OTA 备份而先前电源后在从未给予理应用程序理理应的意味著可执行份文件级SSL

电源启动 OTA 备份并先前后,放于受理理应保护的存储空间当中的理理应SSL (CE) 可立即运用于可执行份文件级SSL (FBE) 调用。这意味着,启动 OTA 备份后,您的理应用领域可以在理应用程序可视其 PIN UTF-、DLC花纹或之前恢复能够要 CE 的调用。

警惕:此变非常均严重影响因 OTA 备份而愈演愈烈的电源先前。如果您的理应用领域在电源先前后理应用程序可视其 PIN UTF-、DLC花纹或之前即便如此能够要会面 CE ,特地在此之后背书如此一来激活。

耐用性和多达量级无线仿真

Android 11 背书通过 Android 仿真桥 (adb) 从的设备以无线作法部署和仿真理应用领域。例如,您可以将可仿真的理应用领域部署到的设备远程电源,而能够要通过 USB 实际连通您的电源,从而避开罕见的 USB 连通关键问题(例如驱动程式配有多方面的关键问题)。

如须要运用于无线仿真,您能够要运用于相加UTF-将您的电源与的设备相加。您的的设备和电源能够连通到同一无线网路。如须要连通到您的电源,特地按表列步骤调用:

在您的的设备上,备份到最最初修正版的 SDK 游戏平台工具

在电源上开业微软为了让。

开业无线仿真为了让。

在询问要在此网路上受约束无线仿真吗?的对广府框当中,点击受约束。

为了让运用于相加UTF-相加电源。记下电源上结果显示的相加UTF-、IP 邮箱和端口号(参见页面)。

在的设备上,打开一个终端并定位系统到 android_sdk/platform-tools。

运营 adb pair ipaddr:port。运用于第 5 步当中的 IP 邮箱和端口号。

当系统才会示意时,可视您在第 5 步当中拿到的相加UTF-。系统才会才会结果显示一条传闻,说明了您的电源已成功相加。

Enter pairing code: 482924Successfully paired to 192.168.1.130:37099 [guid=adb-235XY]

(均适运用于 Linux 或 Microsoft Windows)运营 adb connect ipaddr:port。运用于无线仿真下的 IP 邮箱和端口(参见下面)

ADB 也就是说是 APK 配有

在电源上配有大型(2GB 以上)APK 意味著能够要很长的时长,即使理应用领域只是稍作非常改也是如此。ADB(Android 仿真桥)也就是说是 APK 配有可以配有足够的 APK 以激活理应用领域,同时在前台流过式传输剩余多达据托,从而加速这一步骤。如果电源背书该特性,并且您配有了最重最初 SDK 游戏平台工具,adb install 将定时运用于此特性。如果不背书,系统才会才会定时运用于意味着配有原理。

运营表列 adb 立即以运用于该特性。如果电源不背书也就是说是配有,该立即将才会失败并转换成详实的表述。

adb install --incremental

在运营 ADB 也就是说是 APK 配有之前,您能够先为 APK 手寄给并创建人一个 APK 手寄给计划 v4 份文件。能够将 v4 手寄给份文件放于 APK 正对面边,才能使此特性正常运营。

运用于原生线程分配内置顺利进行严重错误侦测

GWP-ASan 是一种原生线程分配内置特性,可协助查找拘禁后运用于和堆队列溢出严重错误。您可以全局开业此特性,也可以为理应用领域的特定子近期开业此特性。

Neural Networks API 1.3

Android 11 延展并改进型了 Neural Networks API (NNAPI)

最初运算作法

NNAPI 1.3 导入了重最初运算多达特性 TENSOR_QUANT8_ASYMM_SIGNED,以背书 TensorFlow Lite 的最初定量计划

此外,NNAPI 1.3 还导入了表列最初运算:

QUANTIZED_LSTMIFWHILEELUHARD_SWISHFILLRANK

重最初机内置修习应用程序

NNAPI 1.3 导入了最初应用程序以协助机内置修习流过畅运营:

QoS API:重最初 Quality of Service API 运用于表列最初参多达,背书在 NNAPI 当中顺利进行须要排序和任务截止时长旧版:ANeuralNetworksDevice_wait()ANeuralNetworksCompilation_setPriority()ANeuralNetworksCompilation_setTimeout()ANeuralNetworksExecution_setTimeout()

线程域可视/转换成:NNAPI 1.3 背书将线程域作为可执行的可视和转换成。这样可以去掉相同系统才会部件两者之间不前提的相同多达据托,从而增加 Android 神经网路的运营时耐用性。此特性去掉了一三组运用于与 ANeuralNetworksMemoryDesc 和 ANeuralNetworkMemory 具体来说结合运用于的最初 NDK API,仅限于表列参多达:

ANeuralNetworksMemoryDesc_create(ANeuralNetworksMemoryDesc_free()ANeuralNetworksMemoryDesc_addInputRole()ANeuralNetworksMemoryDesc_addOutputRole()ANeuralNetworksMemoryDesc_setDimensions()ANeuralNetworksMemoryDesc_finish()ANeuralNetworksMemory_createFromDesc()ANeuralNetworksMemory_copy()

Dependency API 和联动栅则有背书:NNAPI 1.3 背书运用于仰赖项做到异步计算出来,这样可以大大下降线程小型链式模型时归因于的花费。此特性去掉了表列最初参多达:

ANeuralNetworksEvent_createFromSyncFenceFd() ANeuralNetworksEvent_getSyncFenceFd()ANeuralNetworksExecution_startComputeWithDependencies()

操纵流过:NNAPI 1.3 背书运用于重最初图表运算 ANEURALNETWORKS_IF 和 ANEURALNETWORKS_WHILE 做到原则上操纵流过,这些运算运用于重最初 ANEURALNETWORKS_MODEL 运算多达特性遵从其他模型作为参多达。此外,此特性还去掉了表列最初参多达:

ANeuralNetworksModel_setOperandValueFromModel()ANeuralNetworks_getDefaultLoopTimeout()ANeuralNetworks_getMaximumLoopTimeout()ANeuralNetworksExecution_setLoopTimeout()NDK Thermal API

当电源过波时,它们意味著才会约束 CPU 和/或 GPU,而这意味著才会以意想不到的作法严重影响理应用领域。如果理应用领域或的游戏都有复杂纹理,大量计算出来或年中网路活动,它们就非常容易遇到关键问题。

在 Android 11 当中运用于 NDK Thermal API 监视系统电源上的温度变异,然后采取相理应措施以降偏高相比之下和电源温度。该 API 完全相同于Ja Thermal API;您可以运用于它发送到任何波长时间非常改的汇报或如此一来轮询近期长时间。

自然语种和可视改进型了 IME 转换成

Android 11 导入了重最初 API 以改进型可视法 (IME) 的转换成,例如LCD幕双键盘。这些 API 可让您非常笨拙地优化理应用领域以下内容,与 IME 的出现和消逝以及长时间和定位系统则有等其他金属元素保持联动。

如须要在定位至任何 EditText 时结果显示 IME,特地线程 view.getInsetsController().show(Type.ime())(您可以在与定位的 EditText 相同层次结构当中的任何示意图上线程此原理,能够要除此以外在 EditText 上线程它)。如须要隐秘 IME,特地线程 view.getInsetsController().hide(Type.ime())。您可以通过线程 view.getRootWindowInsets().isVisible(Type.ime()) 检验 IME 近期到底可见。

如须要联动理应用领域的示意图与 IME 的结果显示和消逝,特地通过给予 WindowInsetsAnimation.Callback 到 View.setWindowInsetsAnimationCallback() 在示意图上设为置内置(您可以在任何示意图上设为置该内置,它不一定能够为 EditText)。IME 才会线程内置的 onPrepare() 原理,之后才会在转换成开始时线程 onStart()。然后,它才会在每次转换成的步骤当中线程 onProgress()。转换成启动后,IME 才会线程 onEnd()。在转换成步骤当中,您随时可以线程 WindowInsetsAnimation.getFraction() 以认识转换成的后续。

操纵 IME 原作

您还可以操纵 IME 原作或其他系统才会则有(如定位系统则有)的原作。如须要可执行此调用,特地先线程 setOnApplyWindowInsetsListener(),为终端边衬区非常改设为置重最初内置:

KOTLIN

rootView.setOnApplyWindowInsetsListener { rootView, windowInsets -> val barsIme = windowInsets.getInsets(Type.systemBars() or Type.ime()) rootView.setPadding(barsIme.left, barsIme.top, barsIme.right, barsIme.bottom) // We return the new WindowInsets.CONSUMED to stop the insets being // dispatched any further into the view hierarchy. This replaces the // deprecated WindowInsets.consumeSystemWindowInsets() and related // functions. WindowInsets.CONSUMED}

JAVA

mRoot.setOnApplyWindowInsetsListener(new View.OnApplyWindowInsetsListener() { @Override public WindowInsets onApplyWindowInsets(View v, WindowInsets insets) { Insets barsIME = insets.getInsets(Type.systemBars() | Type.ime()); mRootView.setPadding(barsIme.left, barsIme.top, barsIme.right, barsIme.bottom); // We return the new WindowInsets.CONSUMED to stop the insets being // dispatched any further into the view hierarchy. This replaces the // deprecated WindowInsets.consumeSystemWindowInsets() and related // functions. return WindowInsets.CONSUMED; }});

如须要行进 IME 或其他系统才会则有,特地线程操纵内置的 controlWindowInsetsAnimation()原理:

KOTLIN

view.windowInsetsController.controlWindowInsetsAnimation( Type.ime(), 1000, LinearInterpolator(), cancellationSignal, object : WindowInsetsAnimationControlListener() { fun onReady(controller: WindowInsetsAnimationController, types: Int) { // update IME inset controller.setInsetsAndAlpha(Insets.of(0, 0, 0, inset), 1f /* alpha */, 0.1 /* fraction progress */) } });

JAVA

mRoot.getWindowInsetsController().controlWindowInsetsAnimation( Type.ime(), 1000, new LinearInterpolator(), cancellationSignal, new WindowInsetsAnimationControlListener() { @Override public void onReady( @NonNull WindowInsetsAnimationController controller, int types ) { // update IME inset controller.setInsetsAndAlpha(Insets.of(0, 0, 0, inset), 1f /* alpha */, 0.1 /* fraction progress */); } @Override public void onCancelled() {} });

ICU 托备份

Android 11 备份了 android.icu API,以运用于 ICU 托修正版 66,而 Android 10 当中运用于的是修正版 63。最初版托都有备份的 CLDR 语种区域内多达据托以及众多对于 Android 当中的国际化背书的大幅增加特性。

最初版托都有表列主要变非常:

许多只读 API 今日都背书可延展 FormattedValue 的最初返国具体来说特性。 LocaleMatcher API 在表列多方面得到大幅增加:给予了借助于内置类,背书 ja.util.Locale 特性,并且结果类可给予有关最简单的额外多达据托。 今日背书 Unicode 13。

新闻媒体分配 MediaCodec 队列

Android 11 都有一个重最初 MediaCodec API,可让理应用领域在分配可视和转换成队列时拿到非常多操纵。这样可以让您的理应用领域非常高效地行政线程。

最初类:

MediaCodec.LinearBlockMediaCodec.OutputFrameMediaCodec.QueueRequest

此外,MediaCodec.Callback() 当中两种原理的行为也愈演愈烈了变异:

onInputBufferAvailable()

如果配有为运用于 Block Model API,理应用领域理应通过参考资料参考资料资料运用于 MediaCodec.getQueueRequest,并将 LinearBlock/HardwareBuffer 除此以外到主机板,而不是通过参考资料参考资料资料线程 MediaCodec.getInputBuffer() 和 MediaCodec.queueInputBuffer()。

onOutputBufferAvailable()

理应用领域可以通过参考资料参考资料资料运用于 MediaCodec.getOutputFrame() 给与都有非常多反馈的 OutputFrame 具体来说和 LinearBlock/HardwareBuffer 队列,而不是通过参考资料参考资料资料线程 MediaCodec.getOutputBuffer()。

MediaCodec 偏高定时撷取

Android 11 大幅增加了 MediaCodec,针对的游戏和其他即时理应用领域背书偏高定时撷取。您可以将 FEATURE_LowLatency 传播到 MediaCodecInfo.CodecCapabilities.isFeatureSupported(),检验编撷取内置到底背书偏高定时撷取。

如须要开业或转用偏高定时撷取,特地可执行表列任一调用:

运用于 MediaCodec.configure() 将最初双键 KEY_LOW_LATENCY 设为置为 0 或 1。 运用于 MediaCodec.setParameters() 将最初参多达双键 PARAMETER_KEY_LOW_LATENCY 设为置为 0 或 1。

警惕:背书偏高定时撷取意味著能够要额外的教育资源,例如非常高的效能。均在前提时运用于偏高定时撷取。

已弃用 OpenSL ES

从 NDK r21b Beta 版 2 开始,已弃用 OpenSL ES API。您理应代替 Oboe。

游戏平台仍背书既有理应用领域的 OpenSL ES。然而,运用于 minSdkVersion 为 30 或非常高修正版的 OpenSL ES 时,系统才会才会结果显示借助于警告。

重最初 AAudio 参多达 AAudioStream_release()

参多达 AAudioStream_close() 才会同时拘禁和停止音讯流过。这意味著很危险。如果其他近期在音讯流过停止后尝试对其顺利进行会面,该近期将才会崩溃。

最初参多达 AAudioStream_release() 才会拘禁音讯流过,但不才会将其停止。这样才会拘禁其教育资源并使音讯流过处于已知长时间。该具体来说将依然存在,直到您线程 AAudioStream_close()。

MediaParser API

MediaParser 是运用于新闻媒体合成的最初型偏高层次 API。它比 MediaExtractor 非常敏捷,并给予对新闻媒体合成特性的额外操纵。

转换成转换成内置

Android 11 针对运用于 Cast 和 MediaRouter API 的理应用领域做到了最初行为。

除了可从理应用领域内会面导引为了让外,转换成为了让也结果显示于系统才会新闻媒体放映内置当中。当理应用程序改变视听自然环境时(例如在厨房当中进场视频与在智能手机上进场两者之间转换成,或者在家当中的电台音讯与在车当中的电台两者之间转换成),这适度为理应用程序给予无缝转换成电源的流过畅体验。

意味着意味著,按新闻媒体汇报当中的链路为了让按钮后,系统才会才会打开转换成转换成内置,其当中都有表列为了让:

近期电源上的扬声内置所有已连通的Wi-Fi音讯电源

理应用领域还可以六根据其特性给予非常多为了让,例如“导引”。

理应用领域可以运用于重最初 MediaRouter2API 自概念链路为了让。您可以排除不背书的电源(例如,如果您在进场 Netflix 智能电视,就可以滤除纯音讯的 Chromecast),也可以去掉理应用领域可标识的其他特殊性电源。

网路连通Wi-Fi Passpoint 大幅增加特性

通过 Passpoint,理应用领域可以定时静默地可执行SSL并连通到安全的 Wi-Fi 版块。以 API 层次 30 及非常高层次为最大须要游戏平台的理应用领域可以运用于 Passpoint 的表列其他特性。

移除定于极强制可执行和汇报

对个人参考资料资料极强制可执行移除定于可让基本避开运用于过期理理应定时连通到并行点,该调用必定才会失败。这样可以解救无线连通,并更少电量和后端比特率。当理应用程序的个人参考资料资料位于范围内但已过期时,该特性才会向理应用程序结果显示汇报。

FQDN 最简单

受约束运用于 PerProviderSubscription (PPS) 行政具体来说 (MO) 当中的 Extension/Android 路由器,配有独立于并行网路查询协议 (ANQP) 完全仅限URL (FQDN) 的定名为 AAA 域。

自手寄给的公用 CA

对于 Passpoint R1 个人参考资料资料,Android 遵从采用公用自手寄给 CA 顺利进行连通SSL。

受约束运用于带有相同 FQDN 的多个个人参考资料资料

受约束配有带有相同 FQDN 的多个 Passpoint 个人参考资料资料。FQDN 不用作个人参考资料资料的双键。能够要 FQDN 的既有 Passpoint API(如 remove)才会将特地求理应用领域于带有相同 FQDN 的所有最简单的个人参考资料资料。

受约束配有并从未六根 CA 许可证的个人参考资料资料

受约束运用于并从未六根 CA 许可证的个人参考资料资料。在这种意味著,系统才会才会六根据配有在信任托当中的公共六根 CA 许可证正确性 AAA 咨询服务内置端许可证。

改进型了家庭网路咨询服务给予商和漫步咨询服务给予商的最简单

系统才会才会最简单家庭网路或漫步网路,而不考虑到所告示的SSL原理。此外,还减小了对 OtherHomePartners 和 HomeOIList 列表的家庭网路最简单特性的背书

Wi-Fi Suggestion API 延展

Android 11 延展了 Wi-Fi Suggestion API,以增加理应用领域的网路行政能力,仅限于:

连通行政理应用领域可以通过受约束断开连通特地求行政自己的网路。 Passpoint 网路应用软件到 Suggestion API 当中,可以提拔给理应用程序。 通过 Analytics API,您可以给与有关网路多达量级的反馈。

CallScreeningService 备份

从 Android 11 开始,CallScreeningService 可以针对通电广府特地求有关 STIR/SHAKEN 正确性长时间 (verstat) 的反馈。此反馈将都有在通电广府的通广府详情当中。

如果 CallScreeningService 持有 READ_CONTACTS 职权,当理应用程序个人副本当中的号UTF-有通电广府或向理应用程序个人副本当中的号UTF-去电时,理应用领域才会发出汇报。

Open Mobile API 备份

从 Android 11 开始,Open Mobile API (OMAPI) 有了额外的特性:

解析移动电话职权的的系统。

运用于表列一项或多项自概念嵌入式安全元件 (eSE) 会面职权或配有 eSE:

系统才会授权职权 可配有的会面的系统理应用领域主多达据托 (ARA-M) 理应用领域常量 (AID) 运用于重置 OMAPI 读取内置的系统才会 API 为读取内置给予清晰的示意符,以便理应用领域过滤电源特性。

高耐用性 VPN

以 API 层次 30 及非常高层次为最大须要游戏平台的理应用领域或在搭载 API 层次 29 及非常高层次的电源上运营的理应用领域可以将 IKEv2/IPsec 理应用领域于 VPN(仅限于理应用程序配有的 VPN 和基于理应用领域的 VPN)。

VPN 本身在Linux才会上运营,从而简化了在理应用领域当中建立 IKEv2/IPset VPN 连通所须要的code

每个近期的网路会面操纵

从 Android 11 开始,能避开敏感理应用程序多达据托的理应用领域可以向每个近期授予网路会面职权。通过确实所选受约束哪些近期会面网路,您可以隔离不能够要浏览多达据托的所有code。

虽然不必保证消除您的理应用领域幸好浏览多达据托,但该特性可让您降偏高理应用领域当中的严重错误造成了多达据托的几率。

下面结果显示了运用于这项最初特性的表单份文件的示例:

受约束配有的多种 Passpoint 配有带有相同的 FQDN

从 Android 11 开始,您可以运用于 PasspointConfiguration.getUniqueId() 给与 PasspointConfiguration 具体来说的专有常量,这样可让运用于理应用领域的理应用程序配有多个带有相同完全仅限URL (FQDN) 的配有份文件。

当移动电话在其网路上部署多个行进电源国家/北部code (MCC) 和行进网路code (MNC) 三组合成,但只有一个 FQDN 时,此特性非常简便。在 Android 11 及非常高修正版当中,当理应用程序配有带有 MCC 或 MNC 的 卡时,可以配有多个带有相同 FQDN(它将与家庭网路咨询服务给予商给予的网路最简单)的配有份文件。

警惕:各配有由唯一双键顺利进行标识,该双键仰赖于配有的以下内容。如须要备份既有配有份文件,您能够运用于 WifiManager.removePasspointConfiguration() 将其去掉。如果不去掉既有配有,才会造成了去掉一个都有两种配有的最初配有份文件。

GNSS 全向背书

Android 11 导入了 GnssAntennaInfo类,让您的理应用领域能够要非常多地借助于全球定位系统卫星系统才会 (GNSS) 给予的厘米精度定位。理应用程序向您的理应用领域授予 ACCESS_FINE_LOCATION职权之后,您的理应用领域可以会面与 GNSS 全向相关的表列详实反馈:

脉冲当中心位移 (PCO) 经度脉冲当中心变异 (PCV) 校正信号增益校正

如须要具体电源到底可以向您的理应用领域给予 GNSS 全向反馈,特地线程 hasGnssAntennaInfo()

个人信息警惕事项

GNSS 全向六根本无法标识电源型,而不必标识具体情况电源。如须要运用于 GnssAntennaInfo 类,能够具备 ACCESS_FINE_LOCATION 职权。纹理NDK 图形撷取内置

NDK ImageDecoder API 给予了一种标准 API,均需 Android C/C++ 理应用领域如此一来撷取图形。理应用领域微软早已能够要运用于基本 API(通过 JNI)或捆绑第三方图形撷取托。有关详情,特地参阅图形撷取内置微软指南。

Frame rate API

Android 11 给予了一个 API,可让理应用领域告诉系统才会其预期帧运动速度,从而下降背书多个刷最初率的电源上的跳动。有关如何运用于此 API 的反馈,特地参阅帧运动速度指南。

特地求并检验偏高定时背书

特定的结果显示LCD可以可执行纹理中后期能避开,例如某些外部结果显示LCD和电视。此类中后期能避开改善了纹理多达量级,但意味著才会减小定时。背书 HDMI 2.1 的最初款结果显示LCD带有定时偏高定时方式而(ALLM,也称为的游戏方式而),该方式而可以通过停止中后期能避开以最大须要地缩短定时。如须要详实认识 ALLM,特地参阅 HDMI 2.1 规范。

终端可以特地求运用于定时偏高定时方式而(如果可视)。ALLM 对于的游戏和视频才会议等理应用领域特别简便,因为对于这些理应用领域而言,偏高定时的重要性要优于以外最佳的纹理多达量级。

如须要带进或停止最偏高须要的中后期能避开,特地线程 Window.setPreferMinimalPostProcessing(),或将终端的 preferMinimalPostProcessing 要素设为置为 true。并非所有的结果显示LCD都背书最偏高须要的中后期能避开;如须要认识某个结果显示LCD到底背书该特性,可线程技术开发手段 Display.isMinimalPostProcessingSupported()。

警惕:如果理应用程序转用最偏高须要的中后期能避开,或者结果显示LCD不背书偏高定时方式而,那么线程 Window.setPreferMinimalPostProcessing() 不才会有任何作用。

高耐用性纹理仿真层注入

理应用领域今日可以将外部纹理层(GLES、Vulkan)调用到原生理应用领域code当中,可以在不归因于耐用性花费的前提下,给予与可仿真理应用领域相同的特性。在运用于 GAPID 等工具对理应用领域顺利进行耐用性揭示时,此特性尤为重要。如须要对理应用领域顺利进行耐用性揭示,只能够要在理应用领域表单份文件当中去掉表列元多达据托金属元素,而能够要让理应用领域变成可仿真理应用领域:

适运用于 OpenGL ES 的 ANGLE

您可以运用于 ANGLE 运营非核心理应用领域以评估耐用性,并具体特定理应用领域到底理应运用于 ANGLE,而不是原生 OpenGL ES 驱动程式。

页面和胶卷在执意拍摄期间停止汇报示意音和振荡

从 Android 11 开始,在执意运用于胶卷时,您的理应用领域可以运用于 setCameraAudioRestriction()以均停止振荡、同时停止沙哑和振荡或都不停止。

Android 模拟内置当中的胶卷背书延展

Android 11 改进型了Android 模拟内置胶卷特性。去掉的特性仅限于:

RAW 俘获YUV 重最初能避开3 级电源范式胶卷背书运用于传感行政内置当中的多达据托模拟传感方向采用视频防抖技术开发(通过降偏高握手频率)采用边缘大幅增加技术开发(通过去掉有时候在 YUV 流过水线当中启动的升频)并发内置背书并发运用于多个内置

Android 11 去掉了 API 以查询对同时运用于多个内置(仅限于借助于内置和后置内置)的背书。

如须要在运营理应用领域的电源上检验背书情况,特地运用于表列原理:

getConcurrentCameraIds() 可返国内置 ID 三组合成 Set,这些三组合成可与有保证的多达据托流过三组合成并发顺利进行流过式传输(如果它们是由同一理应用领域近期配有的)。

isConcurrentSessionConfigurationSupported() 可查询内置电源到底可以并发背书相理应的才会广府配有。

非常好地背书都有多个帧的 HEIF 页面

从 Android 11 开始,如果您线程 ImageDecoder.decodeDrawable() 并传播都有帧碱基的 HEIF 页面(如原作或连拍照片),则该原理才会返国都有整个页面碱基的 AnimatedImageDrawable。在较偏高修正版的 Android 系统才会当中,该原理才会返国均都有单个帧的 BitmapDrawable。

如果 HEIF 页面都有的多个帧不在一个碱基当中,您可以通过线程 MediaMetadataRetriever.getImageAtIndex() 数据托各个帧。

人行特性

定位人行咨询服务微软的备份

如果您创建人自概念人行咨询服务,可以在 Android 11 当中运用于表列特性:

在人行咨询服务的定位理应用程序的表述当中,除了纯自然语种之外,今日还受约束运用于 HTML 和页面。这种适于性可让您非常笨拙地向最终理应用程序表述您的咨询服务有何特性以及对他们有何协助。

如须要运用于比 contentDescription 在语义上非常有意义的图形金属元素的长时间说是明,特地线程 getStateDescription() 原理。

如须要特地求触摸暴力事件跨过系统才会的触摸浏览内置,特地线程 setTouchExplorationPassthroughRegion()。比如说,如须要特地求手势跨过系统才会的手势侦测内置,特地线程 setGestureDetectionPassthroughRegion()。

您可以特地求 IME 调用(如“可视”和“下一个”),以及不开业 FLAG_SECURE 标记的终端的LCD幕截图。

其他特性理应用领域近期退出缘故

Android 11 导入了 ActivityManager.getHistoricalProcessExitReasons() 原理,运用于研究报告近期任何近期暂时中止的缘故。理应用领域可以运用于此原理搜罗崩溃检验反馈,例如近期暂时中止是由于 ANR、线程关键问题还是其他缘故所致。此外,您还可以运用于重最初 setProcessStateSummary() 原理存储自概念长时间反馈,以便日后顺利进行数据分析。

getHistoricalProcessExitReasons() 原理才会返国 ApplicationExitInfo 类的重构,该类都有与理应用领域近期暂时中止相关的反馈。通过对此类的重构线程 getReason(),您可以具体理应用领域近期暂时中止的缘故。例如,返国多达值为 REASON_CRASH 表示您的理应用领域当中愈演愈烈了在在方式的异常。如果您的理应用领域能够要保证退出暴力事件的也就是说,它可以维护一个理应用领域专用的常量,如基于来自 getTimestamp() 原理的时长手脚的多达三组多达值。

警惕:某些电源从未研究报告线程不足暂时中止暴力事件。在这些电源上,getHistoricalProcessExitReasons() 原理才会返国 REASON_SIGNALED 而不是 REASON_LOW_MEMORY,并且 getStatus()的返国多达值为 SIGKILL。

如须要检验电源到底可以研究报告线程不足暂时中止暴力事件,特地线程 ActivityManager.isLowMemoryKillReportSupported()

教育资源调用内置

Android 11 导入了一个最初 API,受约束理应用领域即时延展教育资源的抓取和调用作法。重最初 API 类 ResourcesLoader 和 ResourcesProvider 主要负责给予最初特性。两者协同作用,可以给予额外的教育资源,或修正既有教育资源的多达值。

ResourcesLoader 具体来说是向理应用领域的 Resources 重构给予 ResourcesProvider 具体来说的容内置,而 ResourcesProvider 具体来说给予从 APK 和教育资源表调用教育资源多达据托的原理。

此 API 的一个主要用例是自概念教育资源调用。您可以运用于 loadFromDirectory() 创建人一个 ResourcesProvider,运用于载入基于份文件的教育资源的解析,从而让其抓取特定录入,而不是理应用领域 APK。您可以通过 AssetManager API 类当中的 open() 续作原理会面这些教育资源,就像会面 APK 当中绑定的教育资源一样。

APK 手寄给计划 v4

Android 11 去掉了对 APK 手寄给计划 v4 的背书。此计划才会在单独的份文件 (apk-name.apk.idsig) 当中生成一种重最初手寄给,但在其他多方面与 v2 和 v3 完全相同。并从未对 APK 顺利进行任何非常改。此计划背书 ADB 也就是说是 APK 配有,这样才会加快 APK 配有平均速度。

即时 intent 过滤内置

如须要发送到 intent,理应用领域能够通过在其表单当中概念 intent 过滤内置,在编译内置时通告它能够要发送到哪些特性的多达据托。在 Android 10 及非常偏高修正版当中,理应用领域从未在运营时非常改其 intent 过滤内置。这对于虚拟机理应用领域(如虚拟机和远程桌面)而言是一个关键问题,因为这些理应用领域从未确切得知理应用程序将在它们内部配有什么软件。

Android 11 导入了 MIME 三组,这是一个重最初表单金属元素,可让理应用领域在 intent 过滤内置当中通告一三组即时的 MIME 特性,并在运营时以编程语言作法对其顺利进行修正。如须要运用于 MIME 三组,特地运用于重最初 android:mimeGroup 要素在理应用领域表单当中去掉一个多达据托金属元素:

android:mimeGroup 要素的多达值是至多运算符 ID,运用于在运营时标识 MIME 三组。您可以通过将某个 MIME 三组的 ID 传播给 PackageManager API 类当中的表列技术开发手段,会面和备份该 MIME 三组的以下内容:

getMimeGroup() setMimeGroup()

如果您以编程语言作法将 MIME 特性去掉到 MIME 三组,其运作作法与表单当中确实通告的即时 MIME 特性完全相同。

警惕:mimeGroup 运算符是基于每个API概念的。在同一API当中,您可以在多个 intent 过滤内置或部件当中运用于相同的 mimeGroup 运算符以通告它们两者之间对等的 MIME 三组。相同的API不必对等 MIME 三组,但它们可以运用于相同的 mimeGroup 运算符,而不相互干扰。

定时复合大幅增加特性

Android 11 改进型了定时复合咨询服务。

AssistStructure.ViewNode 当中的示意常量

对定时复合咨询服务来说是,六根据示意图的要素计算出来示意图的手寄给多达三组多达值有时候很简便。在计算出来手寄给多达三组多达值时,示意图示意是一个非常多达值得参考资料的要素,但示意运算符意味著才会随着智能手机的语种区域内而愈演愈烈变异。为了理应对此关键问题,Android 11 运用于重最初 getHintIdEntry() 原理延展了 AssistStructure.ViewNode,该原理才会返国示意图示意自然语种的教育资源常量。此原理给予一个与语种区域内牵涉到的多达值,可运用于计算出来手寄给多达三组多达值。

给予了多达据托集的暴力事件

为了协助定时复合咨询服务增加同意以下内容的多达量级,Android 11 给予了一种原理以标识定时复合咨询服务给予了多达据托集但理应用程序从未为了让任何多达据托集的情况。在 Android 11 当中,FillEventHistory 才会研究报告一种重最初 TYPE_DATASETS_SHOWN 暴力事件特性。每当定时复合咨询服务向理应用程序给予一个或多个多达据托集时,FillEventHistory 就才会历史记录此特性的暴力事件。定时复合咨询服务可以将这些暴力事件与既有的 TYPE_DATASET_SELECTED 暴力事件结合运用于来具体理应用程序到底为了让了任何给予的定时复合为了让。

IME 应用软件

双键盘及其他 IME 今日可以在同意则有或完全相同的图形当中区域内嵌作法结果显示定时复合同意,而不是在下拉菜单当中结果显示这些同意。为了保护和钱包号等敏感反馈,系统才会才会将同意结果显示给理应用程序,但在理应用程序为了让某条同意之前,IME 并不明白这些同意。如须要认识 IME 和行政内置如何背书此特性,

与以下内容俘获咨询服务对等多达据托

从 Android 11 开始,理应用领域可以与电源的以下内容俘获咨询服务对等多达据托。借助于此特性,电源可以非常笨拙地给予情境智能,例如结果显示理应用程序自然环境当中正在放映的歌曲的名称。

如须要将理应用领域当中的多达据托对等给以下内容俘获咨询服务,特地对 ContentCaptureManager 的重构线程 shareData() 原理。如果系统才会遵从多达据托对等特地求,理应用领域才会发出将与以下内容俘获咨询服务对等的只寄给份文件描述符。

结语

关于Android R (Android 11)的相关以下内容就简述到这里了,希望大家通过今天的修习都能相比较自己的收获

如果有想要给与非常多Android资讯的同班同学:

我这边自荐一套 《完整的Android修习参考资料资料,以及一些视频国文讲解》

今日私信发送到 “进阶” 或 “笔记” 才可仅限给与

最后我想说是:

对于解释器来说是,要修习的基本知识以下内容、技术开发有显然显然,要想不被自然环境卫冕冠军就只有不断提升自己,从来都是我们去适理应自然环境,而不是自然环境来适理应我们

技术开发是无止境的,你能够要对自己递交的每一行code、运用于的每一个工具负责,不断挖掘其底层原理,才能使自己的技术开发升华到非常高的层次

Android 架构师之路还很漫长,与君共勉

宝宝肚子痛拉稀怎么办
造成私密紧致的病因有哪些
儿童不想吃饭没胃口怎么办
肠道菌群失调怎么调理
打一针干细胞多少钱
拉肚子吃什么药管用
远大医药
大同在线
甲氨蝶呤片是治什么的?关于甲氨蝶呤片你一定要知道的!
眼睛酸痛滴什么眼药水好
友情链接