专栏文章 360 开测-Android Q Beta 上线!抢先体验

opentest-oper@360.cn · March 15, 2019 · 719 hits

360开测-Android Q已上线!!!

简介Android Q Beta

2019年,移动创新比以往任何时候都更加强大,5G到全面屏显示器甚至可折叠屏幕的新技术。Android正处于这一创新周期的中心,并且由于数十亿设备的广泛合作伙伴生态系统,Android有助于突破硬件和软件的界限,为用户带来新的体验和功能。
随着移动生态系统的发展,Android专注于帮助用户利用最新的创新,同时确保用户的安全和隐私始终是首要任务。基于Google Play Protect和运行时权限等工作,Android Q为用户带来了许多额外的隐私和安全功能,以及可折叠的增强功能,用于连接的新API,新媒体编解码器和相机功能,NNAPI扩展,Vulkan 1.1支持,更快的应用启动等等。

建立在Android的隐私保护之上

Android在中心设计了安全和隐私。随着Android的成熟,添加了一系列功能来保护用户,例如基于文件的加密,需要应用程序在访问敏感资源之前请求权限的操作系统控件,锁定相机/麦克风后台访问,锁定模式,加密备份,Google Play Protect(每天扫描超过500亿个应用以识别可能有害的应用并将其删除)等等。在Android Q中,我们进行了更多增强功能以​​保护用户。其中许多增强功能都是我们在Strobe项目中工作的一部分。

让用户更好地控制位置

借助Android Q,操作系统可帮助用户更好地控制应用何时获取位置信息。与以前版本的操作系统一样,只有在应用程序请求您许可后,应用程序才能获取位置,并且您已授予该权限。
一个特别敏感的事情是应用程序未使用时(在后台)应用程序访问位置。Android Q允许用户授予应用程序权限,以便永远不会看到他们的位置,仅在应用程序正在使用(运行)时,或始终(在后台)。
例如,要求用户的食物递送位置的应用程序是有意义的,并且用户可能想要授予它执行该操作的能力。但由于应用程序可能不需要位于当前正在使用的位置之外,因此用户可能不希望授予该访问权限。Android Q现在提供更高级别的控制。

Android Q中的更多隐私保护

在Android Q中,操作系统使用户可以更好地控制应用程序,控制对共享文件的访问。用户将能够通过新的运行时权限控制应用程序对照片和视频或音频集合的访问。对于下载,应用必须使用系统文件选择器,允许用户决定应用可以访问哪些下载文件。对于开发人员,应用程序可以在外部存储上使用共享区域的方式发生了变化。
当应用程序意外跳转到前台并重新关注时,用户(和开发人员!)会感到不安。为了减少这些中断,Android Q将阻止应用在后台启动活动。如果您的应用程序处于后台并且需要快速引起用户的注意 - 例如来电或闹钟 - 您可以使用高优先级通知并提供全屏意图。

可折叠和创新的新屏幕

可折叠设备开辟了一些创新体验和用例。为了帮助用户的应用利用这些和其他大屏幕设备,Android Q还进行了一些其他改进,包括对onResume和onPause的更改,以支持多重简历,并在重点关注时通知您的应用。还更改了resizeableActivity清单属性的工作方式,以帮助您管理应用在可折叠和大屏幕上的显示方式。

分享快捷方式

当用户想要与另一个应用中的某人共享照片等内容时,该过程应该很快。在Android Q中使用“共享快捷方式”让用户更快更轻松,这样用户就可以直接跳转到另一个应用程序来共享内容。开发人员可以发布在其应用中添加内容的特定活动的共享目标,并在共享UI中向用户显示这些目标。因为它们是预先发布的,所以共享UI可以在启动时立即加载。

共享快捷方式机制类似于应用程序快捷方式的工作方式,因此Android Q扩展了ShortcutInfo API,使两个功能的集成更加容易。新的ShareTarget AndroidX库也支持这个新的API。这允许应用程序使用新功能,同时允许pre-Q设备使用Direct Share工作。

设置面板

现在还可以通过新的设置面板API直接在应用程序的上下文中显示关键系统设置,该API利用了在Android 9 Pie中引入的切片功能。
设置面板是一个浮动UI,您可以从应用程序调用该UI以显示用户可能需要的系统设置,例如Internet连接,NFC和音量。例如,浏览器可以显示具有连接设置的面板,如飞行模式,Wi-Fi(包括附近的网络)和移动数据。没有必要离开应用程序; 用户可以从面板中根据需要管理设置。要显示设置面板,只需使用新的Settings.Panel操作之一触发意图。

连接,连接权限,隐私和安全性

在Android Q中,还扩展了应用程序可以使用Android的连接堆栈并添加新的连接API。
我们用于扫描网络的大多数API都需要COARSE位置权限,但在Android Q中,对于蓝牙,移动电话和Wi-Fi,是通过要求获得FINE位置权限来增加对这些API的保护。如果您的应用只需要建立点对点连接或建议网络,请查看下面改进的Wi-Fi API - 它们简化了连接,不需要位置许可。
除了Android Q在连接到不同Wi-Fi网络时提供的随机MAC地址,我们还添加了新的Wi-Fi标准支持,WPA3和增强型开放,以提高家庭和工作网络以及开放/公共网络的安全性网络。

改进了点对点和互联网连接

在Android Q中,重构了Wi-Fi堆栈以改善隐私和性能,同时也改善了管理物联网设备和建议互联网连接等常见用例 - 无需位置许可。
通过网络连接API,可以更轻松地通过本地Wi-Fi管理物联网设备,实现配置,下载或打印等对等功能。应用程序通过将首选SSID和BSSID指定为WiFiNetworkSpecifiers来间接启动连接请求。该平台处理Wi-Fi扫描本身并在Wi-Fi选择器中显示匹配的网络。当用户选择时,平台会自动设置连接。
该 网络建议的API允许应用表面优选Wi-Fi网络给用户用于互联网连接。应用程序通过提供网络和凭据的排序列表来间接启动连接,如WifiNetworkSuggestions。该平台将在这些网络的范围内基于过去的性能无缝连接。

Wi-Fi性能模式

通过启用高性能和低延迟模式在Android Q中请求自适应Wi-Fi。如果低延迟对用户体验很重要,例如实时游戏,主动语音呼叫和类似用例,这些将​​是非常有益的。
要使用新的性能模式,请使用或调用WifiManager.WifiLock.createWifiLock()。在这些模式下,平台与设备固件配合使用,以最低功耗满足要求。
WIFI_MODE_FULL_LOW_LATENCYWIFI_MODE_FULL_HIGH_PERF

相机,媒体,图形

照片的动态深度格式
移动设备上的许多相机可以通过模糊相对于主体的前景或背景来模拟窄景深。它们捕获图像中各个点的深度元数据,并对图像应用静态模糊,然后丢弃深度元数据。
从Android Q开始,应用可以请求动态深度图像,该图像由与深度相关元素相关的JPEG,XMP元数据以及嵌入在广告支持的设备上的同一文件中的深度和置信度图组成。
请求JPEG +动态深度图像使您可以在应用程序中提供专门的模糊和散景选项。您甚至可以在将来使用数据创建3D图像或支持AR摄影用例。将Dynamic Depth作为生态系统的开放格式,使其在运行Android Q及更高版本的设备上可用。



使用动态深度图像,您可以在应用程序中提供专门的模糊和散景选项。

新的音频和视频编解码器

Android Q引入了对开源视频编解码器AV1的支持。这允许媒体提供商使用更少的带宽将高质量的视频内容流式传输到Android设备。此外,Android Q支持使用Opus(一种针对语音和音乐流优化的编解码器)的音频编码,以及支持它的设备上的高动态范围视频的HDR10 +。
该MediaCodecInfo API引入了一个更简单的方法来确定视频渲染的Android设备的能力。对于任何给定的编解码器,您可以使用VideoCodecCapabilities.getSupportedPerformancePoints()获取支持的大小和帧速率列表。这允许您选择要在任何给定设备上呈现的最佳质量的视频内容。

原生MIDI API

对于使用C ++执行音频处理的应用程序,Android Q引入了原生MIDI API,通过NDK与MIDI设备进行通信。此API允许使用非阻塞读取在音频回调内检索MIDI数据,从而实现MIDI消息的低延迟处理。

加强Android的基础

##ART表现

Android Q引入了ART运行时的几项新改进,可帮助应用程序更快地启动并消耗更少的内存,而无需开发人员的任何工作。
自Android Nougat以来,ART提供了配置文件引导优化(PGO),它通过识别和预编译代码中经常执行的部分来加速应用程序启动。为了帮助初始应用启动,Google Play现在提供基于云的配置文件以及APK。这些是匿名的聚合ART配置文件,让ART在应用程序运行之前预编译部分应用程序,从而为整个优化过程提供了重要的启动。基于云的配置文件使所有应用程序受益,并且它们已经可用于运行Android P及更高版本的设备。

在Android Q中,我们通过提前启动应用程序进程并将其移至安全容器来优化Zygote进程,因此可以立即启动。我们将更多信息存储在应用程序的堆映像中,例如类,并使用线程来更快地加载映像。我们还在ART的Concurrent Copying(CC)垃圾收集器中添加了Generational Garbage Collection。分代CC更有效率,因为它分别收集年轻代对象,与全堆GC相比,成本更低,同时仍然可以回收大量空间。这使得垃圾收集整体上在时间和CPU方面更加高效,减少了jank并帮助应用程序在低端设备上更好地运行。

应用安全性

在Android Q中,扩展了对诸如face之类的被动身份验证方法的支持,以及添加隐式和显式身份验证流程。在显式流程中,用户必须在身份验证期间明确确认TEE中的事务。隐式流程设计用于具有被动身份验证的事务的轻量级替代方案。我们还在需要时改进了设备凭据的后备。
Android Q增加了对TLS 1.3的支持,TLS 1.3是对TLS标准的重大修订,包括性能优势和增强的安全性。测试表明,与TLS 1.2相比,使用TLS 1.3可以将安全连接的速度提高40%。默认情况下,为所有TLS连接启用TLS 1.3。

通过公共API的兼容性

我们所关心的另一件事是确保应用程序在操作系统发生变化和发展时顺利运行。使用非SDK API的应用程序可能会面临用户崩溃和开发人员紧急部署的风险。在Android Q中,将继续在Android P中开始的长期努力,将应用程序转移到仅使用公共API。
在Android Q中,限制访问更多非SDK接口,并要求您使用公共等效项。为了帮助用户进行转换并防止您的应用遭遇破坏,仅在用户的应用定位到Android Q时才启用限制,会根据用户的要求继续添加公共替代API。
测试应用程序以使用非SDK接口 非常重要。官方建议使用StrictMode方法detectNonSdkApiUsage()来警告您的应用程序何时通过反射或JNI访问非SDK API。即使此时API被免除(灰名单),最好规划未来并消除其使用以减少兼容性问题。

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
No Reply at the moment.
需要 Sign In 后方可回复, 如果你还没有账号请点击这里 Sign Up