使用基准配置文件
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
基准配置文件可以避免对包含的代码路径执行解译和即时 (JIT) 编译步骤,从而让代码执行速度从首次启动开始提高约 30%。通过在应用或库中分发基准配置文件,您可以让 Android 运行时 (ART) 通过预先 (AOT) 编译来优化包含的代码路径,从而针对每次新应用安装和每个应用更新提升性能。这种配置文件引导的优化 (PGO) 可让应用优化启动、减少互动卡顿,并提高整体的运行时性能(从首次启动开始适用于最终用户)。
Compose 性能注意事项
Compose 以库的形式分发,而不是作为 Android 平台的一部分进行分发。此方法可让 Compose 团队频繁更新 Compose,并支持各种 Android 版本。不过,以库形式分发 Compose 会产生费用。
Android 平台代码已完成编译并安装到设备上。不过,在应用启动时需要加载库,并在需要时对 JIT 进行解释。这可能会导致应用在启动时以及首次使用库功能时变慢。
基准配置文件的优势
您可以通过定义基准配置文件来提高性能。这些配置文件定义了关键用户历程所需的类和方法,并与应用的 APK 或 AAB 文件一起分发。在应用安装期间,ART 会编译此关键代码 AOT,以便在应用启动时可供使用。
良好的基准配置文件定义并非总是很简单,因此,Compose 默认附带了一个。您无需执行任何操作即可看到这项优势。不过,Compose 附带的基准配置文件仅包含针对 Compose 库中代码的优化。
Macrobenchmark
为了获得最佳优化效果,请为使用 Macrobenchmark 的应用创建基准配置文件,以涵盖关键用户历程。定义自己的配置文件时,您必须测试该配置文件以验证它是否发挥作用。为实现此目的,一种好方法是为您的应用编写 Macrobenchmark 测试,并在编写和修改基准配置文件时查看测试结果。
如需查看如何为 Compose 界面编写 Macrobenchmark 测试的示例,请参阅 Macrobenchmark Compose 示例。
其他资源
本页面上的内容和代码示例受内容许可部分所述许可的限制。Java 和 OpenJDK 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2024-04-11。
[{
"type": "thumb-down",
"id": "missingTheInformationINeed",
"label":"没有我需要的信息"
},{
"type": "thumb-down",
"id": "tooComplicatedTooManySteps",
"label":"太复杂/步骤太多"
},{
"type": "thumb-down",
"id": "outOfDate",
"label":"内容需要更新"
},{
"type": "thumb-down",
"id": "translationIssue",
"label":"翻译问题"
},{
"type": "thumb-down",
"id": "samplesCodeIssue",
"label":"示例/代码问题"
},{
"type": "thumb-down",
"id": "otherDown",
"label":"其他"
}]
[{
"type": "thumb-up",
"id": "easyToUnderstand",
"label":"易于理解"
},{
"type": "thumb-up",
"id": "solvedMyProblem",
"label":"解决了我的问题"
},{
"type": "thumb-up",
"id": "otherUp",
"label":"其他"
}]
{"lastModified": "\u6700\u540e\u66f4\u65b0\u65f6\u95f4 (UTC)\uff1a2024-04-11\u3002"}
[[["易于理解","easyToUnderstand","thumb-up"],["解决了我的问题","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["没有我需要的信息","missingTheInformationINeed","thumb-down"],["太复杂/步骤太多","tooComplicatedTooManySteps","thumb-down"],["内容需要更新","outOfDate","thumb-down"],["翻译问题","translationIssue","thumb-down"],["示例/代码问题","samplesCodeIssue","thumb-down"],["其他","otherDown","thumb-down"]],["最后更新时间 (UTC):2024-04-11。"]]