当前位置:首页 > 生活资讯 > Google 更新 Android 运行时应用程序,将应用程序速度提升高达 30%
更新时间:2023-09-01 07:00 信息编号:276348

Google 更新 Android 运行时应用程序,将应用程序速度提升高达 30%

浏览人气:31
职位MC喊麦    地区
联系人: 电话:


Google 更新 Android 运行时应用程序,将应用程序速度提升高达 30%

出品| CSDN(ID:)

如果每次更新都能提高应用程序的启动时间、执行速度和内存使用率,那不是很好吗?

根据官方博客文章,目前这只能通过 Play 系统更新 (ART) 实现。 这些更新提供了性能改进和最新的安全修复,并统一了数亿台设备(包括所有 12 种以上设备和即将推出的 Go)的核心 API。

ART 是操作系统 (OS) 背后的引擎。 它提供所有应用程序和大多数操作系统服务所依赖的运行时和核心 API。 Java 和两者都被编译为由 ART 执行的字节码。 运行时、编译器和核心 API 的改进使所有开发人员受益,应用程序执行速度更快,字节码编译更高效。

虽然设备制造商可以自定义某些功能,但 ART 对于所有设备都是相同的,并且 Play 系统更新提供了模块化更新的途径。

操作系统模块化

以前,当系统中的某个功能需要更新时,我们需要更新整个系统,这意味着操作系统组件不需要有明确的应用程序编程接口(API)边界。 这是因为所有相关软件都是一起构建的。 然而,这使得 ART 很难独立于操作系统的其余部分进行更新。

为了解决这个挑战,技术团队面临的第一个困难是如何梳理ART的依赖关系并创建清晰、明确且经过测试的API边界。 这使得技术团队可以将ART模块化,使其可以独立更新。

ART作为操作系统的核心部分,必须开辟新的路径,设计新的操作系统边界。 手动添加和更新这些新边界非常广泛且耗时。 因此,技术团队通过操作系统内省自动生成了这些边界。

另一个例子是堆栈展开( stack ),它可以报告检测到问题时执行的最后一个函数。 在模块化操作系统之前,所有堆栈展开代码都是一起构建的,并且可能在版本之间发生变化。 这使得过渡更具挑战性,因为只有一个版本的 ART 可用于多个版本的系统,技术团队必须创建新的 API 边界并将其设计为与不再接收完整操作系统更新的较新设备配合使用。 ART APEX 模块的版本向前兼容。

最近,对于 14,技术团队重构了包管理器(决定应用程序如何安装和更新的服务)和 ART 之间的接口。 这将操作系统边界从 ART 命令行移至定义明确的接口,从而实现未来的优化,例如对编译模式的更精细控制。

ART的可再生性也带来了新的挑战。 例如,必须安全地重新编译一组 Java 库(称为 Boot)才能确保良好的性能。 这需要在启动期间引入新的安全编译状态和后备 JIT 编译模式。

在较旧的设备上,安全编译会在 ART 更新后首次重新启动时发生。 在支持虚拟化框架的较新设备上,编译会在设备空闲时在称为“隔离编译”的 中进行,最多可节省 20 秒的启动时间。

测试 ART APEX 模块

ART APEX (Pony) 模块是一个复杂的软件,比任何其他 APEX 模块具有更多的 API。 它还支持SDK中四分之一的开发者API。 此外,ART 还有一个编译器,旨在通过生成特定于芯片组的指令(例如 Arm SVE)来充分利用底层硬件。 再加上 ART APEX 模块必须在多个操作系统版本上运行,这使得测试具有挑战性。

基于此,技术团队首先将测试框架从按平台(如CTS)模块化发布改为按模块发布。 为此,技术团队引入了专门针对 ART 的主线测试套件(MTS),用于测试编译器和运行时以及核心 API,同时收集代码覆盖率统计数据。

技术团队的目标是100%的API覆盖率和高线覆盖率,尤其是新的API。 与模糊测试相结合,上述所有测试都会产生很大的测试负载,需要将其分散到多个设备上,以确保测试在合理的时间内完成。

技术团队每天都会测试即将推出的ART,编译超过1800万个APK,并在各种设备上运行应用程序兼容性测试、启动、性能和内存基准测试,以尽可能恢复生态系统的多样性。 一旦对所有可能的编译模式、所有垃圾收集算法和支持的操作系统版本进行了测试,技术团队将开始逐步推出下一个 ART 版本。

ART Play系统更新的好处

通过独立于操作系统更新 ART,用户可以尽快获得最新的性能优化和安全修复,而开发人员可以获得对 Java 和 Java 都有利的最新改进和编译器优化。

如下图所示,ART 13 更新中的运行时和编译器优化在某些设备上实现了高达 30% 的实际应用启动改进。

ART 更新使技术团队能够频繁部署修复程序,而生态系统合作伙伴只需付出最少的额外努力。 对于开发人员来说,ART 更新意味着您现在可以使用最新的编程功能。 ART 13提供了11种核心语言功能,这是设备采用新版本的最快时间。

下一步

在接下来的几个月中,技术团队将向所有兼容设备发布 ART 14。 ART 14 包括 17 项支持以及新的编译器和运行时优化,可提高性能,同时减少代码大小。 请继续关注ART 14的更多详情!

同城信息网

提醒:请联系我时一定说明是从娱乐之家人才站上看到的!
发布者所在地区(仅供参考),IP:60.247.148.23
三个小贴士:求职如何简单的识别信息的真假[?]
本信息来源于娱乐之家人才站 www.ylzjrcz.com
1、打电话/QQ咨询时,应第一时间询问清楚具体的情况。例如:询问具体的场所名字/具体地址/等等常规的信息问题。
2、询问得到的信息,可发给各大QQ群/朋友进行询问,以及多方面/多网站/多渠道进行参考求证,综合各方面考察清楚。
3、内容只供参考,一切三思而后行。如发现此信息涉及虚假,违规等内容问题,请第一时间向本站进行举报! 本文来自:娱乐之家人才站(夜场首选平台)
友情提醒:友情提醒 :凡是以各种理由向你收取费用,均有骗子嫌疑,请提高警惕,不要轻易支付。娱乐之家资讯网www.ylzjrcz.com
特别提示:求职请提高警惕,谨防网络诈骗

帮助中心

用户名:   注册
密  码:
娱乐之家资讯网
当前位置:首页 > 生活资讯

Google 更新 Android 运行时应用程序,将应用程序速度提升高达 30%

发布时间:2023-09-01 07:00:33
  • 联系人:
  • 电话:

Google 更新 Android 运行时应用程序,将应用程序速度提升高达 30%

出品| CSDN(ID:)

如果每次更新都能提高应用程序的启动时间、执行速度和内存使用率,那不是很好吗?

根据官方博客文章,目前这只能通过 Play 系统更新 (ART) 实现。 这些更新提供了性能改进和最新的安全修复,并统一了数亿台设备(包括所有 12 种以上设备和即将推出的 Go)的核心 API。

ART 是操作系统 (OS) 背后的引擎。 它提供所有应用程序和大多数操作系统服务所依赖的运行时和核心 API。 Java 和两者都被编译为由 ART 执行的字节码。 运行时、编译器和核心 API 的改进使所有开发人员受益,应用程序执行速度更快,字节码编译更高效。

虽然设备制造商可以自定义某些功能,但 ART 对于所有设备都是相同的,并且 Play 系统更新提供了模块化更新的途径。

操作系统模块化

以前,当系统中的某个功能需要更新时,我们需要更新整个系统,这意味着操作系统组件不需要有明确的应用程序编程接口(API)边界。 这是因为所有相关软件都是一起构建的。 然而,这使得 ART 很难独立于操作系统的其余部分进行更新。

为了解决这个挑战,技术团队面临的第一个困难是如何梳理ART的依赖关系并创建清晰、明确且经过测试的API边界。 这使得技术团队可以将ART模块化,使其可以独立更新。

ART作为操作系统的核心部分,必须开辟新的路径,设计新的操作系统边界。 手动添加和更新这些新边界非常广泛且耗时。 因此,技术团队通过操作系统内省自动生成了这些边界。

另一个例子是堆栈展开( stack ),它可以报告检测到问题时执行的最后一个函数。 在模块化操作系统之前,所有堆栈展开代码都是一起构建的,并且可能在版本之间发生变化。 这使得过渡更具挑战性,因为只有一个版本的 ART 可用于多个版本的系统,技术团队必须创建新的 API 边界并将其设计为与不再接收完整操作系统更新的较新设备配合使用。 ART APEX 模块的版本向前兼容。

最近,对于 14,技术团队重构了包管理器(决定应用程序如何安装和更新的服务)和 ART 之间的接口。 这将操作系统边界从 ART 命令行移至定义明确的接口,从而实现未来的优化,例如对编译模式的更精细控制。

ART的可再生性也带来了新的挑战。 例如,必须安全地重新编译一组 Java 库(称为 Boot)才能确保良好的性能。 这需要在启动期间引入新的安全编译状态和后备 JIT 编译模式。

在较旧的设备上,安全编译会在 ART 更新后首次重新启动时发生。 在支持虚拟化框架的较新设备上,编译会在设备空闲时在称为“隔离编译”的 中进行,最多可节省 20 秒的启动时间。

测试 ART APEX 模块

ART APEX (Pony) 模块是一个复杂的软件,比任何其他 APEX 模块具有更多的 API。 它还支持SDK中四分之一的开发者API。 此外,ART 还有一个编译器,旨在通过生成特定于芯片组的指令(例如 Arm SVE)来充分利用底层硬件。 再加上 ART APEX 模块必须在多个操作系统版本上运行,这使得测试具有挑战性。

基于此,技术团队首先将测试框架从按平台(如CTS)模块化发布改为按模块发布。 为此,技术团队引入了专门针对 ART 的主线测试套件(MTS),用于测试编译器和运行时以及核心 API,同时收集代码覆盖率统计数据。

技术团队的目标是100%的API覆盖率和高线覆盖率,尤其是新的API。 与模糊测试相结合,上述所有测试都会产生很大的测试负载,需要将其分散到多个设备上,以确保测试在合理的时间内完成。

技术团队每天都会测试即将推出的ART,编译超过1800万个APK,并在各种设备上运行应用程序兼容性测试、启动、性能和内存基准测试,以尽可能恢复生态系统的多样性。 一旦对所有可能的编译模式、所有垃圾收集算法和支持的操作系统版本进行了测试,技术团队将开始逐步推出下一个 ART 版本。

ART Play系统更新的好处

通过独立于操作系统更新 ART,用户可以尽快获得最新的性能优化和安全修复,而开发人员可以获得对 Java 和 Java 都有利的最新改进和编译器优化。

如下图所示,ART 13 更新中的运行时和编译器优化在某些设备上实现了高达 30% 的实际应用启动改进。

ART 更新使技术团队能够频繁部署修复程序,而生态系统合作伙伴只需付出最少的额外努力。 对于开发人员来说,ART 更新意味着您现在可以使用最新的编程功能。 ART 13提供了11种核心语言功能,这是设备采用新版本的最快时间。

下一步

在接下来的几个月中,技术团队将向所有兼容设备发布 ART 14。 ART 14 包括 17 项支持以及新的编译器和运行时优化,可提高性能,同时减少代码大小。 请继续关注ART 14的更多详情!

同城信息网

推荐阅读

更多

发现更多资讯 >>

友情链接:

娱乐之家资讯网

COPYRIGHT © 2021 娱乐之家资讯网 版权所有

有什么问题加客服微信咨询:zx81024163

浙ICP备2021028673号

浙公网安备 33010202001912号