2023低碳技术白皮书-数字技术应用
06-18
作者:Dave Burke,工程副总裁经过一年多的开发和早期用户几个月的反复测试,最新的Android平台——Android 9 Pie终于正式向全世界发布了! Android 9采用人工智能技术,让您的手机更加智能、简洁、人性化。请阅读本文,了解Android 9的全部新功能。
我们也希望开发者能够利用Android 9全面提升应用性能,打造卓越体验,让您的应用更贴近用户!在Android 9的开发过程中,我们非常感谢大家的积极反馈。我们已收到 10 多个错误报告和功能请求。
共有超过 000 名开发者通过 Android Beta 项目尝试了此前发布的开发者预览版。此外,7家顶级合作设备制造商已陆续推出支持Android P Beta版本的旗舰机型,帮助我们在全球范围内获得了早期Beta用户。
反馈。从今天开始,我们将在 Android 开源项目 (AOSP) 中发布 Android 9 源代码,并开始向 Pixel 用户推送系统更新通知,其他 Android 设备预计将在未来几个月内收到通知。
我们将继续努力,将Android打造成一流的开放平台,帮助全球开发者取得商业成功。希望您能够充分利用Android 9新平台以及Google Play的新功能,开发出高品质的应用和游戏,以最有效、最安全的方式为全球用户带来精彩的体验! Android 9最终版的新功能以机器学习为核心,打造更智能的手机。
Android 9赋予手机强大的学习能力:系统可以根据用户在使用过程中透露出的习惯和偏好进行自我学习和适应——从强大的电池续航时间到人性化的应用推荐,Android 9可以为所欲为,确保持久、流畅的用户体验。动态电源管理我们与DeepMind合作推出了动态电源管理功能,利用机器学习技术对系统资源进行有限的分配,更加关注用户最常用的应用程序。
如果您已经针对打瞌睡、应用程序待机和后台限制优化了应用程序,那么它应该已经可以与动态电源管理配合良好。如果您还没有开始优化工作,请阅读官方电源管理文档了解具体操作指南。
SlicesSlices可以有效帮助用户节省操作时间,无需经过全屏体验即可使用应用的部分功能。借助支持的 UI 模板,Slices 可以以高度动态和交互的形式将应用内容插入到多个使用场景中,例如 Google 搜索和 Assistant。
了解有关在应用程序中构建切片的更多信息。应用操作应用操作是推荐应用的一种新方式。
开发人员可以利用此功能让他们的应用程序被更多人看到,并大大提高用户参与度。借助机器学习技术,App Actions可以分析应用程序的语义意图和使用场景,并根据分析结果在适当的时间向用户推荐您的应用程序。
我们将在未来几周内公布操作细节,以帮助开发人员了解如何在其应用程序中处理一个或多个用户意图。一旦您的应用启用了此推荐功能,系统将根据用户请求在众多 Google 和 Android 交互门户上推荐您的应用。
文本识别和 Smart Linkify 在 Android 9 中,我们扩展了用于识别文本的机器学习模型,以便它可以借助 TextClassifier API 识别日期或航班号等信息。此外,Smart Linkify允许开发人员通过Linkify API使用文本识别模块来完成多项操作,例如为用户可以采取的操作提出建议。
Smart Linkify 显着提高了系统的文本识别准确性和速度。 Neural Network API 1.1 Android 9.0扩展和改进了Neural Network API,进一步优化Android对机器学习硬件加速的支持。
Neural Network API 1.1 总共增加了对 9 个新运算符的支持,分别是 Pad、BatchToSpaceND、SpaceToBatchND、Transpose、Strided Slice、Mean、Div、Sub 和 Squeeze。 TensorFlow Lite 是一个典型的机器学习框架,已经使用了这个 API。
人机交互就是这么简单。 “让智能手机更智能”是我们向前迈出的重要一步。
然而,如何把握用户与技术的关系——让技术以人为本同样关键。在Android 9中,我们极大地改进了用户界面,使其更简单、更容易操作;对于开发者来说,这些变化可以让用户更轻松地搜索、使用和管理您的应用程序。
全新系统导航 经过一年多的努力,Android 9 迎来了全新系统导航,让多任务切换和关联应用探索变得更加简单。您只需向上滑动屏幕即可全屏预览最近使用的应用程序,点击预览页面即可切换到所选应用程序。
刘海屏支持 Android 9新增了刘海屏支持,让您的应用程序能够充分利用最新的全面屏,展现应用程序的独特魅力。此功能在大多数应用程序中无缝运行,系统通过调整状态栏的高度将应用程序内容与屏幕凹口区域分开。
如果您的应用包含沉浸式内容,您可以调用显示切口 API 来确认凹口的形状和位置,然后请求凹口周围的全屏布局。此外,我们还添加了开发人员选项来模拟任何设备上的凹口形状,从而大大简化了构建和测试支持凹口屏幕的应用程序的过程。
△ 包含沉浸式内容的应用可以在刘海屏设备上实现通知和智能回复的全屏显示。 Android 9进一步提升了通知的实用性和可操作性。
消息应用程序可以调用新的 MessagingStyle API 来显示对话、附加照片和表情符号或提供智能回复建议。很快,您将能够使用 ML Kit 在您的应用程序中生成智能回复。
△ 在 MessagingStyle 通知中,可以显示对话和智能回复(左)或添加图像和表情符号(右) 文本放大镜 Android 9 中添加了文本放大镜小部件(Magnifier widget),以改善用户在文本选择时的体验。由于放大镜提供了可以在文本上方拖动的文本放大面板,因此可以帮助用户准确定位光标或文本选择手柄。
此功能可以灵活地用于附加到窗口的所有视图。个性化的widget、定制化的文字呈现都是很好的应用场景。
更重要的是,这个放大镜工具还提供任何视图或界面的放大版本,而不仅仅是文本。阅读 《Android P 中的新文本特性》 了解有关放大镜和文本属性的更多信息,例如预计算文本、行高和基线文本对齐方式。
用户安全和隐私统一认证对话生物识别传感器广泛用于身份认证。为了保证用户能够跨不同传感器和应用程序获得一致的体验,Android 9引入了统一的身份验证对话框来提示用户执行操作。
应用程序不再需要设计自己的对话框,而是通过调用BiometricPrompt API来触发系统对话框。除了指纹识别(包括屏下指纹识别)之外,该API还支持面部识别和虹膜识别。
如果您的应用仍在使用自行设计的指纹识别对话框,我们建议您尽快切换到BiometricPrompt API。高可信度用户确认 Android 9 增加了高可信度用户确认(Android Protected Confirmation),它使用可信执行环境(TEE)来确保提示文本得到真实用户的确认。
只有用户确认成功后,TEE 才会发出文本,允许应用程序继续进行后续验证步骤。为了加强密钥安全保护,我们还新增了KeyStore类——StrongBox,并提供相应的API来支持提供独立CPU、内存、安全存储等防入侵硬件措施的设备。
您可以在KeyGenParameterSpec中设置它来决定是否将密钥交给StrongBox安全芯片进行存储。 DNS over TLSAndroid 9 内置了对 DNS over TLS 的支持:如果网络 DNS 服务器支持,设备会自动将 DNS 查询升级为 TLS 查询。
用户可以通过更改“网络和 Internet”设置下的专用 DNS 模式来管理 DNS over TLS 行为。运行自己的 DNS 查询的应用程序可以通过调用新的 LinkProperties.isPrivateDnsActive() API 来获取有关 DNS 模式的信息。
请阅读《Android P 开发者预览版支持 DNS over TLS》了解更多信息。默认使用 HTTPS 为了逐步将所有网络流量从明文(未加密的 HTTP)迁移到 TLS,我们更改了网络安全配置的默认设置以阻止所有明文流量,强制应用程序通过 TLS 建立网络下行连接,除非开发人员明确表示允许特定域名的明文传输。
基于编译器的安全缓解措施 Android 9 将进一步扩展编译器级安全缓解措施,并通过运行时危险行为监控进一步加强平台安全。 Android 9通过控制流完整性(CFI)技术解决了代码重用(code-reuse)和任意代码执行两大漏洞,并扩展了CFI在媒体框架和其他关键安全组件(例如NFC和蓝牙)内的使用。
同时,Android 9还增加了CFI内核对常见Android内核的LLVM编译的支持。此外,Android 9 还将 Integer 溢出清理程序的使用扩展到其他库,以减轻内存损坏和信息泄漏问题。
我们提高了以下库的检查器优先级:1)具有历史漏洞,2)需要处理复杂且不受信任的输入,例如 libui、libnl 和 libmediaplayerservice。用户隐私 Android 9增加了多项新机制,进一步加强对用户隐私的保护。
系统拒绝所有空闲应用程序访问麦克风、摄像头和所有 SensorManager 传感器。当应用程序的UID空闲时,麦克风将报告“无音频信号”,传感器将停止报告事件,并且当应用程序尝试访问它时,应用程序使用的相机将断开连接并生成错误。
在大多数情况下,这些限制不会给现有应用程序带来新问题,但建议您从应用程序中删除此类传感器请求。 Android 9 还允许用户控制是否允许访问平台 build.serial 标识符(受 READ_PHONE_STATE 权限保护)。
自 Android 8.0 起,已弃用直接访问此标识符。您可以通过调用 Build.getSerial() 方法来访问 build.serial 标识符。
了解所有隐私变更 新感官:摄像头和音频 Multi-Cam API 全面升级以及其他改进 从 Android 9 开始,您可以在支持 Multi-Cam API 的设备上同时访问来自两个或更多物理摄像头的视频流;在配置上,在具有双前置或双后置摄像头的设备上,可以实现单摄像头无法实现的创新功能:例如无缝变焦、散景和立体视觉。该 API 还允许您调用逻辑或混合摄像机视频流,在两个或多个摄像机之间自动切换。
相机的其他改进包括新的会话参数,可有效减少初始捕获期间的延迟,以及允许相机客户端无需重新启动视频流即可处理各种场景的 Surface 共享技术。此外,我们还添加了 API,以提供基于屏幕闪烁支持和 OIS 时间戳的访问。
HDR VP9 视频和 HEIF 图像 Android 9 添加了对 HDR VP9 Profile 2 的内置支持。现在,您可以在支持 HDR 的设备上向用户共享支持 HDR 的视频内容。
此外,我们还添加了对 HEIF (heic) 图像编码的平台支持。 HEIF 是目前流行的压缩格式。
提高图像的压缩效果,减少图像存储空间和网络流量。随着平台支持的引入,开发人员可以更轻松地从后端服务器传输和使用 HEIF 图像。
一旦您确定您的应用与此数据格式兼容并且可用于共享或显示,请尝试将 HEIF 设置为应用内图像的存储格式。此外,还可以通过ImageDecoder将jpeg文件转换为heic文件,或者通过Bitmap Factory从jpeg文件中获取位图。
您还可以使用 AndroidX 库中的 HeifWriter 从 YUV 字节缓冲区、Surface 和位图写入 HEIF 静态图像。使用动态处理增强音频开发者可以调用动态处理API来动态处理音频,通过隔离特定频率的声音、降低过大的音量或增强过小的音量来提高应用程序的音频质量。
例如,即使说话者的声音很低,距离麦克风很远,并且外部环境非常嘈杂,您的应用程序仍然可以有效地捕获他或她的声音并进行相应的优化。该API提供多声场、多频段动态处理效果,包括预均衡器、多频段压缩器、后均衡器和级联音量限制器。
用于位图和可绘制对象的 ImageDecoderImageDecoder API 为开发人员提供了一种将图像解码为位图或可绘制对象的更简单方法。 ImageDecoder 允许您从字节缓冲区、文件或 URI 创建位图或可绘制对象。
与BitmapFactory相比,它有以下优点:支持精确缩放、支持单步解码到硬件内存、支持解码后处理、解码动画图像。获取更多信息 网络连接和位置 使用 Wi-Fi RTT 进行室内定位 Android 9 添加了对 IEEE .11mc Wi-Fi 协议(也称为 Wi-Fi Round Trip Time,RTT)的平台支持,使您可以使用室内定位功能。
在具有硬件支持的 Android 9 设备上,当打开位置服务并选中“允许地理位置信息”选项时,应用程序可以使用 RTT API 测量到附近 Wi-Fi 接入点 (AP) 的距离。设备不需要连接到 AP 即可使用 RTT,并且为了保护隐私,只有手机可以确定距离,而 AP 无法确定。
通过测量设备到三个或更多AP的距离,可以计算出设备的位置,精度为1到2米。这种精度可以让您创造更多新体验:室内导航、细粒度的基于位置的服务,例如模糊语音控制(“打开这里的灯”);以及基于位置的信息服务(“该产品有特价”“?”)。
JobScheduler 中的数据费用敏感度 JobScheduler 是 Android 中的一项核心服务,可帮助您正确安排打瞌睡模式、应用程序待机模式和后台限制的各种任务。在Android 9中,JobScheduler可以更好地帮助用户完成与网络相关的任务,并与运营商单独提供的网络状态信号进行协调。
作业现在可以声明估计的数据量、信号预取并指定详细的网络要求 - 操作员可以报告网络状况是否拥塞或未计量,然后 JobScheduler 将根据网络状态管理作业。例如,JobScheduler 可能会在网络拥塞时推迟大型网络请求,并在网络不按流量使用时运行多个预加载作业(例如预取标头)以改善用户体验。
用于 NFC 支付和安全交易的开放移动 API Android 9 在平台中添加了 GlobalPlatform 开放移动 API 的实现。在支持的设备上,应用程序可以使用 OMAPI API 访问安全元件 (SE),以启用智能卡支付等安全服务。
硬件抽象层 (HAL) 提供必要的 API 来枚举各种可用的安全元件(例如 eSE、UICC 等)。更强的性能 ART 性能提升 Android 9 使用 ART 运行时显着提升应用程序的性能和运行效率。
我们扩展了 ART 对执行特性的使用,以优化应用程序并减少已编译应用程序代码的内存占用。 ART 现在可以使用配置文件信息重写设备上的 DEX 文件,有助于将多个常见应用程序的内存占用量减少高达 11%。
我们希望这能够减少系统 DEX 内存使用量并加快应用程序启动时间。Kotlin 优化 Kotlin 是 Android 开发的一流编程语言。
如果您还没有尝试过,还等什么?我们对 Kotlin 性能进行了长期的资源投入,并持续加大对 Kotlin 的支持,比如优化 Kotlin 代码性能。在 Android 9 中,您会发现这项工作开始得到回报 - 我们改进了一些编译器优化,特别是 for 循环,以实现更好的性能。
我们还将继续与 JetBrains 合作来优化 Kotlin 生成的代码。只需保持 Android Studio 上的 Kotlin 插件更新,您就会获得所有最新的 Kotlin 性能更新。
今天,我们还在 Android 9 中发布了更新的 API - API 28 SDK(修订版 6),它为一些最常用的 API 添加了可空性注释。我们将在近期发布相关文章,提供更多详细信息,敬请期待。
现代Android 在Android 9中,我们继续投入大量资源来进一步构建更现代的Android平台并运行应用程序,从而推动我们在安全性、性能和稳定性方面的长期目标的实现。我们去年宣布,Google Play 将要求所有应用在 2020 年 11 月之前更新为 Android Oreo(targetSdkVersion 26 或更高版本)。
因此,如果您的应用的目标平台版本早于 Android 4.2(API 级别 17),系统会弹出当用户安装您的应用程序时弹出警告对话框。请阅读迁移指南文档。
我们期待您的应用程序利用现代 Android 为用户提供更好的体验。只需几个简单的步骤即可开始使用 由于 Pixel 用户从今天开始可以开始使用 Android 9,并且其他设备将在未来几个月内收到更新,因此请尽快使您的应用程序适应 Android 9。
您只需使用 Google Play 安装当前的应用程序并在 Android 9 Beta 设备或模拟器上进行测试。请确保您的应用在测试过程中运行流畅、界面美观、能够妥善处理Android 9的各种行为变化。
同时,请注意应用程序调用非SDK接口时的情况。 Android 9 限制访问某些非 SDK 接口,因此您需要减少应用对这些接口的依赖。
详情请阅读《后续更新 | 减少使用非 SDK 接口以提升稳定性》。完成必要的更新后,我们建议立即将您的应用发布到 Google Play,而无需更改应用的平台版本。
这有助于您继续利用 Android 9 API 来优化应用性能并逐步将其迁移到目标平台,同时保持用户体验。利用 Android 9 功能和 API 进一步优化您的应用 准备好后,探索 Android 9 并利用新功能和 API 来完善您的应用。
首先,请下载官方版本的API 28 SDK、最新的开发工具和镜像文件到Android Studio 3.1,或者使用最新版本的Android Studio 3.2,然后将项目的compileSdkVersion和targetSdkVersion更新到API 28。更改目标后平台版本,确保您的应用程序支持所有行为更改。
准备就绪后,将 APK 更新发布到 Google Play。我们建议使用 Google Play 中的 Beta 测试功能,以便在逐步全面推出之前从一小群用户那里获得早期反馈。
访问 Android 9 官方网站以阅读文档并获取更多信息。单击观看视频或前往 Google I/O Android 播放列表,了解 Android 9 中为开发者提供的新增功能。
立即升级您的设备并体验 Android 9。从今天开始,Pixel 设备将接收 Android 9 更新。
其他加入 Beta 计划的设备,如索尼、小米、HMD、Oppo、Vivo、OnePlus 和 Essential,以及所有符合条件的 Android One 设备,预计将在今年秋天晚些时候收到更新。同时,我们还与其他合作伙伴合作,今年推出更多新的Android 9设备或升级现有设备以支持新系统。
此外,Pixel 设备的系统映像现已可供下载。请访问 Android 开源项目存储库的 Android 9 部分,了解更多与 Android 9 相关的资源。
等到接下来 Android 9 发布时,开发者预览版将正式结束。我们将很快关闭预览错误报告通道,但请继续向我们提供反馈!如果您在使用 Android 9 时遇到任何问题,请通过 AOSP 反馈提交新的错误报告。
此外,我们计划放慢Android Beta项目的步伐,并从该项目中删除所有型号。如果您想在 Pixel 设备上继续使用 Android 预览版,请点击此处注册以继续获取有关该计划的信息。
“再次感谢您对预览版和公测版的大力支持。每一位开发者和早期用户都为Android 9的诞生提供了不可或缺的力量,帮助我们将Android 9打造成为开发者的优秀平台,为用户带来美妙的体验谢谢!》点击此处前往“Android开发者官方文档”获取更多相关信息。
版权声明:本文内容由互联网用户自发贡献,本站不拥有所有权,不承担相关法律责任。如果发现本站有涉嫌抄袭的内容,欢迎发送邮件 举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。
标签:
相关文章
06-18
06-08
06-18
06-08
06-17
最新文章
【玩转GPU】ControlNet初学者生存指南
【实战】获取小程序中用户的城市信息(附源码)
包雪雪简单介绍Vue.js:开学
Go进阶:使用Gin框架简单实现服务端渲染
线程池介绍及实际案例分享
JMeter 注释 18 - JMeter 常用配置组件介绍
基于Sentry的大数据权限解决方案
【云+社区年度征文集】GPE监控介绍及使用