指標
| 最近更新時間 | 穩定版 | 候選版 | Beta 版 | Alpha 版 | 
|---|---|---|---|---|
| 2025 年 10 月 8 日 | 1.0.0 | - | - | - | 
宣告依附元件
如要新增 Metrics 的依附元件,必須將 Google Maven 存放區新增至專案。詳情請參閱 Google 的 Maven 存放區。
在應用程式或模組的 build.gradle 檔案中,新增所需構件的依附元件:
Groovy
dependencies { implementation "androidx.metrics:metrics-performance:1.0.0" }
Kotlin
dependencies { implementation("androidx.metrics:metrics-performance:1.0.0") }
如要進一步瞭解依附元件,請參閱「新增建構依附元件」一文。
意見回饋
您的意見可協助我們改善 Jetpack。如果您發現新問題,或是有改進這個程式庫的建議,請告訴我們。回報新問題前,請先查看這個程式庫的現有問題。只要按一下星號按鈕,即可投票給現有的問題。
詳情請參閱 Issue Tracker 說明文件。
1.0.0 版
1.0.0 版本
2025 年 10 月 8 日
發布 androidx.metrics:metrics-performance:1.0.0。1.0.0 版包含這些修訂項目。
1.0.0 版的主要功能:
- 您可以使用 JankStats API 測量應用程式的影格效能,並在效能指標中加入背景資訊 (發生了什麼事,以及影格的產生位置)。詳情請參閱說明文件。
1.0.0-rc01 版
2025 年 9 月 24 日
發布 androidx.metrics:metrics-performance:1.0.0-rc01。1.0.0-rc01 版包含這些修訂項目。
1.0.0-beta04 版
2025 年 9 月 10 日
發布 androidx.metrics:metrics-performance:1.0.0-beta04。1.0.0-beta04 版包含這些修訂項目。
外部貢獻
- 修正 JankStats中的IndexOutOfBoundsException(I113e5、b/253576508)
1.0.0-beta03 版
2025 年 8 月 27 日
發布 androidx.metrics:metrics-performance:1.0.0-beta03。1.0.0-beta03 版包含這些修訂項目。
修正錯誤
- 修正 IllegalArgumentException("attempt to removeOnFrameMetricsAvailableListenerthat was never added")。如果視窗未進行硬體加速,系統不會嘗試記錄影格時間,因為Window.OnFrameMetricsAvailableListener不支援這項功能。(I8fef2、b/436880904)
1.0.0-beta02 版
2025 年 3 月 12 日
發布 androidx.metrics:metrics-performance:1.0.0-beta02。1.0.0-beta02 版包含這些修訂項目。
修正錯誤
- 修正 DelegatingFrameMetricsListener cannot be cast...當機問題 (Id891c、b/311218678)。
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現在更準確,API31 也新增- totalDuration(I59ce8、b/243694893)
1.0.0-alpha03 版本
2022 年 7 月 27 日
發布 androidx.metrics:metrics-performance:1.0.0-alpha03。查看 1.0.0-alpha03 版的修訂項。
- 隨著程式庫即將發布 Beta 版,這個版本包含微幅的 API 修正項目。其中一個 API 變更是從 - createAndTrack()工廠方法移除 Executor,以便建立- JankStats物件。這會影響- OnFrameListener回呼,因為現在系統會在將每影格資料傳送至- JankStats的執行緒上呼叫該接聽程式 (API 24 之前的版本為 Main/UI 執行緒,API 24 以上版本為- FrameMetrics執行緒)。此外,傳遞至接聽程式的- FrameData物件現在會重複用於每個影格,因此回呼期間必須複製該物件的資料並快取至其他位置,因為接聽程式傳回後,該物件就會過時。
- 這個版本也修正了各項錯誤,包括一些並行問題。 
- 最後,修正 - FrameData的重複使用方式 (如上所述),這表示由於影格指標的傳送,系統沒有為每個影格配置資源。以舊方法配置的資源不多,但使用新方法後,您可以使用- JankStats,而不會在應用程式中產生任何因影格所致的 GC 負擔。
API 變更
- 更新 PerformanceMetricsState中的方法和參數名稱,讓這些呼叫的結果更加明確。(I56da5、b/233421985)
- 新增基準測試以追蹤配置情形,移除部分與狀態管理和報告相關的內部配置。請注意,傳遞給事件監聽器的 FrameData現已視為可變動,該結構將在下一個影格中重複使用,而且只有在事件監聽器回傳之前的資料才可信賴。
- 從 JankStats的建構函式中移除 Executor;現在,系統會在接收內部資料的任何執行緒上呼叫事件監聽器。(I12743)
修正錯誤
- 修正因重複移除 OnFrameMetricsAvailableListener所造成的當機問題 (I44094、b/239457413)
- 返回在佇列前張貼 OnPreDrawListener訊息的原始邏輯,藉此提高影格時間的一致性和可預測性。(I05a43、b/233358407)
- 修正 ConcurrentModificationException錯誤,避免事件監聽器委派清單在疊代傳送每個影格的資料時遭到修改。(Ib7693、b/236612357)
1.0.0-alpha02 版
2022 年 6 月 29 日
發布 androidx.metrics:metrics-performance:1.0.0-alpha02。1.0.0-alpha02 版包含此連結所列的修訂項目。
API 變更
- 已將 MetricsStateHolder重新命名為 Holder (在PerformanceMetricsState內):(I5a4d9、b/226565716、b/213499234)
修正錯誤
- 已修正在處理舊狀態正確的影格之前可以用新值替換狀態的時間性問題 (aosp/2061892、b/213499234)
- 修正新增/移除監聽器的並行修改例外狀況 (aosp/2092714、b/213499234)
- 更精確地計算 startTime (aosp/2027704、b/213245198)
- 修正 FrameData.equals()實作中的錯誤 (aosp/2025866、b/218296544)
1.0.0-alpha01 版
2022 年 2 月 9 日
發布 androidx.metrics:metrics-performance:1.0.0-alpha01。1.0.0-alpha01 版包含此連結所列的修訂項目。
新功能
- JankStats程式庫提供檢測功能,可在執行階段檢測及接收回呼,協助您找出實際的效能問題。
- JankStats結合可讓您輕鬆整合使用者介面狀態相關資訊的 API 以及每個影格效能的追蹤和報告功能,讓開發人員不是瞭解應用程式是否存在效能問題,而是瞭解問題出現的時間和原因。
