活动和计划

全面优化:性能聚焦周总结

3 分钟阅读时间

在过去的一周里,我们深入探讨了如何分享最佳实践和指南,以帮助开发者让 Android 应用更快、更小、更稳定。从 R8 优化器配置文件引导的优化 的基础功能,到 Jetpack Compose 的性能改进,再到有关提升应用性能的新指南,我们介绍了构建高性能应用所需的 低投入、高回报 工具。

本文将作为您的索引和路线图,以便您在需要优化时重新访问这些资源。以下是我们共同探索之旅的五个关键要点。

使用 R8 优化器加快应用速度

您可以进行的最有效、最轻松的更改是完全启用 R8 优化器 。它不仅可以减小应用大小,还可以执行深度、全程序优化,从根本上重写代码以提高效率。重新访问 Keep 规则,让 R8 回到您的工程任务中。

我们新更新和扩充的文档可为您提供帮助。

Reddit 在启用 R8 完整模式后,冷启动速度提高了 40% ANR 错误减少了 30%

您可以在我们的博客上阅读完整的案例研究

image.png

Disney+ 的工程师专注于提升应用性能,并优化应用的用户体验。有时,即使是看似很小的更改也会产生巨大的影响。在检查 R8 配置时,该团队发现使用了 -dontoptimize 标志。通过移除此标志来启用优化后,Disney+ 团队发现应用的性能有了显著提升。

image.png

因此,下次有人问您如何提高应用性能时,只需将他们链接到这篇文章即可。

请参阅我们第一天的博客了解详情使用 R8 缩减应用大小、优化应用并加快应用速度

引导您实现更好的性能

基准配置文件 有效地消除了对即时编译的需求,从而提高了启动速度、滚动速度、动画效果和整体渲染性能。启动配置文件 通过为应用的 classes.dex 文件带来智能排序,使应用启动更加轻量级。

如需详细了解基准配置文件对应用性能的重要性,请阅读 Meta 的工程博客 ,其中分享了基准配置文件如何将各种关键效果指标在他们的应用中提升 高达 40%

Jetpack Compose 1.10 中,我们继续提升 Jetpack Compose 的性能。 暂停组合和可自定义的缓存窗口等功能对于在处理复杂的列表项时保持零滚动卡顿至关重要。请观看最新一集的 #TheAndroidShow,我们将在其中详细介绍这一点。

请参阅我们周三的博客了解详情: 更深入的性能考虑因素

衡量性能可以像 1、2、3 一样简单

您无法管理自己没有衡量的东西。我们的性能分级指南将您的衡量历程分为五个步骤,从轻松获取的数据开始,逐步构建到高级本地工具。

第 1 级开始,我们将教您如何使用Android Vitals中现成的数据,该数据可为您提供有关 ANR、崩溃和电池用量过多的实地数据。

我们还将教您如何升级。例如,我们将演示如何使用 Jetpack Macrobenchmark 和新的 UiAutomator 2.4 API 通过本地性能测试达到 第 3 级 ,以准确衡量和验证应用性能的任何变化。

请参阅我们周四的博客了解详情: [Link to Thursday's Blog: Leveling Guide for your Performance Journey]

调试性能已升级

高级优化不应意味着无法读取的崩溃报告。新功能旨在帮助您自信地调试 R8 和后台工作:

自动 Logcat 重新跟踪

从 Android Studio Narwhal 开始,堆栈轨迹可以在 Logcat 窗口中自动取消混淆。这样,您就可以立即查看和调试可用于生产用途 build 中的任何崩溃。

缩小 Keep 规则

周二,我们揭开了修复运行时崩溃所需的 Keep 规则的神秘面纱,强调编写特定的成员级规则,而不是过于宽泛的通配符。由于这是一个重要的主题,我们还为您制作了一个视频。

借助针对宽 Keep 规则的新 lint 检查,Android Studio Otter 3 Feature Drop 也涵盖了这方面的内容。

image.png

我们还发布了有关 测试 R8 配置和 排查其问题 的全新指南,以帮助您自信地正确配置。

请参阅我们周二的博客了解详情: 配置 R8 Keep 规则并排查其问题

后台工作

我们分享了有关调试使用 WorkManager 调度任务时可能遇到的常见场景的指南。

后台任务检查器可直观呈现 WorkManager 任务并提供图表视图,帮助调试计划的工作延迟或失败的原因。我们更新了后台工作文档着陆页,其中重点介绍了针对特定用例优化的任务特定 API,帮助您实现更可靠的执行。

请参阅我们周三的博客了解详情: 后台工作性能注意事项

性能优化是一个持续的过程

如果您本周成功接受了启用 R8 完整模式的挑战,那么下一步就是使用 应用性能得分 将性能集成到产品路线图中。这个标准化框架可帮助您找到最具影响力的行动项,以实现持续改进。

我们以 #AskAndroid Live 问答环节结束了本周的活动,工程师们在其中回答了您关于 R8、配置文件引导的优化等方面的最棘手问题。如果您错过了,请观看重播!

感谢您的参与!现在,开始构建并保持这种势头吧。

继续阅读