指标

  
跟踪和报告应用程序的各种运行时指标
最新更新 稳定版 候选版本 Beta 版 Alpha 版
2024年1月10日 - - 1.0.0-beta01 -

声明依赖项

要添加对 Metrics 的依赖项,您必须将 Google Maven 存储库添加到您的项目中。阅读Google 的 Maven 存储库以了解更多信息。

在应用或模块的build.gradle文件中添加所需构件的依赖项

Groovy

dependencies {
    implementation "androidx.metrics:metrics-performance:1.0.0-beta01"
}

Kotlin

dependencies {
    implementation("androidx.metrics:metrics-performance:1.0.0-beta01")
}

有关依赖项的更多信息,请参阅添加构建依赖项

反馈

您的反馈有助于改进 Jetpack。如果您发现新的问题或有改进此库的想法,请告诉我们。在创建新问题之前,请查看此库中现有问题。您可以通过单击星号按钮为现有问题添加您的投票。

创建新的问题

有关更多信息,请参阅问题跟踪器文档

1.0.0 版

1.0.0-beta01 版

2024年1月10日

此库的 API 和功能已稳定一段时间。此版本只是将库推送到 Beta 版。

androidx.metrics:metrics-performance:1.0.0-beta01 已发布。1.0.0-beta01 版本包含这些提交。

1.0.0-alpha04 版

2023年4月5日

此版本将 JankStats 更新为最新的修复程序,其中包括更准确和全面的计时信息。

androidx.metrics:metrics-performance:1.0.0-alpha04 已发布。1.0.0-alpha04 版本包含这些提交。

API 变更

  • cpuDuration 现在更准确,API 31 上还有新的 totalDuration (I59ce8b/243694893)

1.0.0-alpha03 版

2022年7月27日

androidx.metrics:metrics-performance:1.0.0-alpha03 已发布。1.0.0-alpha03 版本包含这些提交。

  • 此版本包含一些细微的 API 调整,使库更接近 beta 版本。其中一项 API 更改是从用于创建 JankStats 对象的 createAndTrack() 工厂方法中删除了 Executor。这会影响 OnFrameListener 回调,因为该监听器现在在将每帧数据传递给 JankStats 的线程上调用(在 API 24 之前的版本中为 Main/UI 线程,在 API 24 及更高版本中为 FrameMetrics 线程)。此外,传递给监听器的 FrameData 对象现在每帧都会重用,因此必须在回调期间将该对象中的数据复制并缓存在其他位置,因为一旦监听器返回,该对象就应该被视为已过期。

  • 还有一些错误修复,包括一些并发问题。

  • 最后,重用 FrameData 的修复(如上所述)意味着现在每帧由于帧指标传递而产生的分配为零。之前分配不多,但新方法意味着您可以使用 JankStats 而不产生任何每帧 GC 开销。

API 变更

  • 更新了 PerformanceMetricsState 中的方法和参数名称,使这些调用的结果更清晰。(I56da5b/233421985)
  • 添加了基准测试以跟踪分配,消除了与状态管理和报告相关的某些内部分配。请注意,传递给监听器的 FrameData 现在被认为是易变的;该结构将被重用于下一帧,并且数据仅在监听器返回之前可靠。
  • JankStats 的构造函数中删除了 Executor;监听器现在在接收内部数据的线程上被调用。(I12743)

错误修复

  • 修复了由于重复删除 OnFrameMetricsAvailableListener 而导致的崩溃。(I44094b/239457413)
  • 返回到将 OnPreDrawListener 消息发布到队列前端的原始逻辑,以获得更一致和可预测的帧时间。(I05a43b/233358407)
  • 修复了 ConcurrentModificationException 错误,该错误发生在同时修改监听器委托列表和迭代该列表以发送每帧数据时。(Ib7693b/236612357)

1.0.0-alpha02 版本

2022 年 6 月 29 日

androidx.metrics:metrics-performance:1.0.0-alpha02 已发布。1.0.0-alpha02 版本包含这些提交。

API 变更

错误修复

1.0.0-alpha01 版本

2022 年 2 月 9 日

androidx.metrics:metrics-performance:1.0.0-alpha01 已发布。1.0.0-alpha01 版本包含这些提交。

新功能

  • JankStats 库提供了在应用程序运行时检测和接收回调的功能,这有助于查找实际的性能问题。
  • JankStats 将易于注入 UI 状态信息的 API 与跟踪和报告每帧性能的功能相结合,使开发人员不仅能够了解应用程序是否存在性能问题,还能了解问题发生的时间和原因。