Tracing

  
將追蹤事件寫入系統追蹤緩衝區。
最近更新時間 穩定版 候選版 Beta 版 Alpha 版
2026 年 9 月 23 日 2.0.3 - - -

意見回饋

您的意見可協助我們改善 Jetpack。如果您發現新問題,或是有改進這個程式庫的建議,請告訴我們。回報新問題前,請先查看這個程式庫的現有問題。只要按一下星號按鈕,即可投票給現有的問題。

建立新問題

詳情請參閱 Issue Tracker 說明文件。

Tracing

2.0 版

2.0.3 版

2026 年 9 月 23 日

發布 androidx.tracing:tracing-*:2.0.3。2.0.3 版包含這些修訂項目。

2.0.2 版

2026 年 9 月 9 日

發布 androidx.tracing:tracing-*:2.0.2。2.0.2 版包含這些修訂項目。

2.0.1 版

2026 年 8 月 26 日

發布 androidx.tracing:tracing-*:2.0.1。2.0.1 版包含這些修訂項目。

2.0.0 版

2026 年 8 月 12 日

發布 androidx.tracing:tracing-*:2.0.0。2.0.0 版包含這些修訂項目。

2.0.0 版的主要功能:

新的程序內 API 可啟用:

  • 在現場處理程序中記錄追蹤記錄內容
  • Perfetto 流程 (從一個切片到另一個切片的箭頭)
  • Perfetto 註解 (鍵/值切片中繼資料)
  • traceCoroutine() {} - 協同程式追蹤 API,可追蹤執行緒切換
  • Category filtering
  • 與現有的 android.os.Trace API 和 trace() {} 包裝函式相比,負擔明顯較低
  • KMP 追蹤 - 可用於沒有 Android 依附元件的程式庫,以及主機 JVM 專案
  • 事實上,與系統追蹤記錄合併 (AndroidX Benchmark 1.5 中預設實作)

請注意,新的追蹤 API 會記錄到程序控制的緩衝區,而 Studio 系統追蹤記錄目前不會擷取這類資料。我們會在日後推出的版本中,解決 Studio Profilers 的這個問題。

現有的 android.os.Trace / trace() {} API 並未淘汰。對於應一律記錄到系統追蹤緩衝區的低頻率事件,我們仍建議使用這些 API,尤其是在程式庫中。

2.0.0-rc01 版

2026 年 7 月 29 日

發布 androidx.tracing:tracing-*:2.0.0-rc01。2.0.0-rc01 版包含這些修訂項目。

2.0.0-beta01 版

2026 年 7 月 15 日

發布 androidx.tracing:tracing-*:2.0.0-beta01。2.0.0-beta01 版包含這些修訂項目。

API 變更

  • PerfettoCapture 和 PerfettoTraceRule 現在可以擷取處理中的追蹤記錄,並針對目標套件合併這些記錄。(I9a00b、b/497959820)
  • 「androidx.benchmark」現在的 minSdk 為 24。(Ic2a85)

修正錯誤

  • Tracing 2.0-beta01 版。(I1b162)
  • 產生曲目資訊時,請使用平台專屬的對話串 ID。(I6ba64)

2.0.0-alpha09 版

2026 年 6 月 23 日

發布 androidx.tracing:tracing-*:2.0.0-alpha09。2.0.0-alpha09 版包含這些修訂項目。

API 變更

  • Tracer 中的 API 進行小幅變更,以區分 instant(...) 和 writeInstant(...)。(I0935a)
  • 在即時事件中新增傳播權杖的支援。(I99f81)
  • 允許在實驗性手動內容傳播 API 中完整使用 Perfetto 流程。(I20cb6)
  • 在 TraceSink 中延後建立 BufferedSink 和 ProtoWriter。(Ibd098)
  • 讓 Java 和 Android 程式庫的 Tracer探索程序簡單且可外掛。(I99111)
  • 讓程式庫開發人員輕鬆探索可用於程序內追蹤的 TraceDriver 執行個體。(Ia503e)

2.0.0-alpha08 版

2026 年 5 月 19 日

發布 androidx.tracing:tracing-*:2.0.0-alpha08。2.0.0-alpha08 版包含這些修訂項目。

API 變更

  • 新增探索及覆寫 TraceDriver 執行個體的功能,以便在整個程序中使用。(I3f715)
  • 將 Tracer.recordException 重新命名為 Tracer.recordExceptionAndThrow。(I4411f、b/503092450)

2.0.0-alpha07 版

2026 年 5 月 6 日

發布 androidx.tracing:tracing-*:2.0.0-alpha07。2.0.0-alpha07 版包含這些修訂項目。

API 變更

  • 新增 API,取得可在追蹤功能停用時使用的虛設常式追蹤器。(I84c98)
  • 讓追蹤生命週期與系統追蹤保持一致。(Ib391b)
  • 計數器 API 現在完全免除分配作業。(I5e73a)

修正錯誤

  • 修正 Perfetto SDK 的保留規則 (tracing-perfetto),確保可以啟用 Perfetto SDK。(I1d227)
  • 新增追蹤 flush() 事件的功能。(I38014、b/495852704)

2.0.0-alpha06 版

2026 年 4 月 22 日

發布 androidx.tracing:tracing-*:2.0.0-alpha06。2.0.0-alpha06 版包含這些修訂項目。

API 變更

  • 解除限制 File.createPerfettoFile(),讓其他人安全地建立接收器。如果 block() 在 trace / traceCoroutine 中擲回例外狀況,請為例外狀況建立 instant 事件,並使用代表對應堆疊追蹤記錄元素的中繼資料。(I682e5、b/501536851、b/437166283)
  • 新增可接受 Java Long 類型的 setCounter(...) 多載。(Ic0469、b/356082604)
  • 追蹤 2.0 現在會使用 Long 做為平台專屬的 Thread ID。(I67277)

修正錯誤

2.0.0-alpha05 版

2026 年 4 月 8 日

發布 androidx.tracing:tracing-*:2.0.0-alpha05。2.0.0-alpha05 版包含這些修訂項目。

API 變更

  • TraceSink 工廠函式現在會傳回 TraceSink,而非 AbstractTraceSink。檔案現在有專屬的後置字元。我們會確保可以原子方式建立新檔案,用於儲存追蹤封包。(I4c4aa、b/496298726)
  • 簡化並加快協同程式內容傳播速度。(Ia62db)
  • 建構 TraceDriver 時,導入選用的 attributes(),提供新增與追蹤相關中繼資料的方法。(Ia147e)

修正錯誤

  • 程序執行緒和計數器軌跡現在會同步處理。這項修正會解決表單的例外狀況:java.lang.NullPointerException: Cannot invoke "androidx.tracing.ThreadTrack.flush$tracing()" because "threadTrack" is null
  • 避免在停用追蹤時發出接收器事件。

2.0.0-alpha04 版

2026 年 3 月 25 日

發布 androidx.tracing:tracing-*:2.0.0-alpha04。2.0.0-alpha04 版包含這些修訂項目。

API 變更

  • 將 AbstractTraceDriver 設為真正抽象,並將 Perfetto 實作內容移至 tracing-wire 模組。(Ie2f59)
  • 為基礎實作項目提供更具描述性的名稱,避免使用錯誤的實作項目。如果開發人員先前是擴充 androidx.tracing.Trace{Sink|Driver},現在需要改用 AbstractTrace{Sink|Driver}。(I9b46d)

2.0.0-alpha03 版

2026 年 3 月 11 日

發布 androidx.tracing:tracing-*:2.0.0-alpha03。2.0.0-alpha03 版包含這些修訂項目。

API 變更

  • 新增實驗性 InMemoryRingBufferTraceSink 實作項目,可設定容量限制,並避免寫入磁碟,除非明確要求。(I1dc44、b/484409653、I65a37、b/484409653)
  • 修正發出協同程式暫停和恢復的追蹤事件時發生的競爭狀況。(Ie145e)

修正錯誤

  • androidx.tracing 預設不會再嘗試在追蹤記錄中,從父項協同程式繪製連線至子項協同程式。由於基礎追蹤格式不支援 1:N 和 N:1 連線,因此這項做法造成混淆,導致箭頭巢狀結構,因為不清楚哪個協同程式切片連線至哪個。如果您的用途需要傳播,您仍可使用 tokenForManualPropagation() API 手動選擇加入。(Ib2cf9)

2.0.0-alpha02 版

2026 年 2 月 25 日

發布 androidx.tracing:tracing-*:2.0.0-alpha02。2.0.0-alpha02 版包含這些修訂項目。

新功能

  • 使用 suspendCoroutineUninterceptedOrReturn 內建函式,提升 Perfetto Trace Sink 實作項目的效能 (2ea97b)。

2.0.0-alpha01 版

2026 年 1 月 28 日

發布 androidx.tracing:tracing-*:2.0.0-alpha01。2.0.0-alpha01 版包含這些修訂項目。

新功能

AndroidX Tracing 2.0 推出重要的全新 API 介面,可進行低負荷的程序內追蹤,做為 Tracing 1.0 中現有 android.os.Tracing 型 API 的補充。Android 和主機 JVM 都提供新的 API,因此主機工具可以使用相同的標準 Perfetto 追蹤格式,發出低負荷的追蹤記錄以進行效能分析。

Android Studio 和 Perfetto 都支援發出的追蹤記錄,且可使用擴充功能集記錄,包括使用中繼資料標記切片 (例如函式引數!),以及協同程式內容追蹤記錄傳播。

這個 Alpha 版僅適用於處理中追蹤工作流程,尚未整合 Android 作業系統追蹤或 Studio 分析器系統追蹤功能,這些功能將在日後的 Alpha 版中推出。

  /**
  * A [TraceSink] defines how traces are serialized.
  *
  * [androidx.tracing.wire.TraceSink] uses the `Perfetto` trace packet format.
  */
  fun createSink(): TraceSink {
      val outputDirectory = File(/* pathname = */ "/tmp/perfetto")
      // We are using the factory function defined in androidx.tracing.wire
      return TraceSink(
          sequenceId = 1,
          directory = outputDirectory
      )
  }

  /**
  * Creates a new instance of [androidx.tracing.TraceDriver].
  */
  fun createTraceDriver(): TraceDriver {
      // We are using a factory function from androidx.tracing.wire here.
      // `isEnabled` controls whether tracing is enabled for the application.
      val driver = TraceDriver(sink = createSink(), isEnabled = true)
      return driver
  }

  fun main() {
      val driver = createTraceDriver()
      driver.use {
          driver.tracer.trace(category = CATEGORY_MAIN, name = "basic") {
              Thread.sleep(100L)
          }
      }
  }

API 變更

  • 將 Tracer 設為 TraceDriver 的屬性。(Iabd9b)
  • 新增手動內容傳播支援。(I899ff)
  • 新增在追蹤區段中加入呼叫堆疊資訊的功能。(If6a1b)
  • 推出新的 androidx.tracing API。(I5102b)
  • 允許即時事件包含中繼資料,並在即時事件和計數器中新增計數器。(Ia2ed3)
  • 減少以 @DelicateTracingApi 註解的 API 介面面積。頂層 API 中的任何項目都不應要求使用 @DelicateTracingApi。(I565e0)
  • 統一 PropagationToken,簡化情境傳播。(Iab839)
  • 穩定 androidx.benchmark 中的 BlackHole API。(I2b67e、b/451749438)
  • 新增將追蹤區段註解為根範圍的功能。(Ic8365)
  • 允許開發人員明確瞭解傳播權杖。(I06bb1)
  • 已將 MetadataHandleCloseable 重新命名為 EventMetadataCloseable,並將 MetadataHandle 重新命名為 EventMetadata。此外,我們也在 Tracer.traceCoroutine 中新增了選用的 CoroutinePropagationToken 引數,讓開發人員明確指定要使用的傳播權杖。(I219f7、b/454147392)
  • 推出新的 Tracer 進入點,讓開發人員能更精準地控制追蹤方式。(I24a7b)
  • 新增可控管 SliceTrack 中內容傳播方式的功能。(Ieb8fc)
  • PooledTracePacketArray 中的 fillCount 現已正確標示為不穩定。(I75d2c)
  • 「標記」MetadataEntry @DelicateTracingApi。(I8c723)
  • 新增功能,讓 TraceSink 能夠處理遺失的追蹤事件 (集區耗盡時)。(I3b374)
  • 新增根據述詞有條件地發出追蹤事件的功能。(I621b4)
  • 新增將類別新增至追蹤事件的功能。(I449c2)
  • 將「TraceEvent」(PooledTracePacketArray) 標示為「DelicateTracingApi」。(Iaac6d)
  • 將 ProcessTrack.id、ThreadTrack.id、ThreadTrack.name、CounterTrack.name 和 CounterTrack.parent 設為公開。(I81210)
  • 已將 SliceTrack.traceFlow() API 重新命名為 traceCoroutine()。(I79ad0)
  • 新增透過 Perfetto 追蹤記錄中的偵錯註解,將背景資訊新增至切片的功能。(Ic2b56)
  • 讓您可以使用 File / OutputStream 建構 WireTraceSink 的例項。(Iecea0)
  • 移除過時的 @RequiresApi(21) 註解 (Ic4792)

1.3 版本

1.3.0 版本

2025 年 4 月 23 日

發布 androidx.tracing:tracing:1.3.0、androidx.tracing:tracing-android:1.3.0 和 androidx.tracing:tracing-ktx:1.3.0。1.3.0 版包含這些修訂項目。

自 1.2.0 版以來的重要異動

  • 已將 androidx.tracing.Trace 類別轉換為 Kotlin,並將所有程式碼從 tracing-ktx 模組移至 tracing。
  • 從追蹤記錄中移除 crossinline,允許在 @Composable 中使用。(I53882、b/248344805)

1.3.0-rc01 版本

2025 年 4 月 9 日

發布 androidx.tracing:tracing:1.3.0-rc01、androidx.tracing:tracing-android:1.3.0-rc01 和 androidx.tracing:tracing-ktx:1.3.0-rc01,且自上一個 Beta 版以來皆無異動。1.3.0-rc01 版包含這些修訂項目。

1.3.0-beta01 版本

2025 年 2 月 12 日

發布 androidx.tracing:tracing:1.3.0-beta01、androidx.tracing:tracing-android:1.3.0-beta01 和 androidx.tracing:tracing-ktx:1.3.0-beta01。1.3.0-beta01 版包含這些修訂項目。

API 變更

  • 已將 tracing-ktx 模組中的所有程式碼移至 tracing。(Iba550)
  • 已將 androidx.tracing.Trace 類別轉換為 Kotlin。(Ie4e5d)

修正錯誤

  • 移除手動列出新平台 API 存取權的步驟,因為使用 AGP 7.3 以上版本 (例如 R8 3.3 版) 的 R8 時,系統會透過 API 模型自動執行這項作業,而使用 AGP 8.1 以上版本 (例如 D8 8.1 版) 時,所有建構作業都會自動執行這項作業。如果用戶端未使用 AGP,建議更新至 D8 8.1 以上版本。詳情請參閱這篇文章。(Ia60e0、b/345472586)

1.3.0-alpha02 版本

2023 年 6 月 21 日

發布 androidx.tracing:tracing:1.3.0-alpha02 和 androidx.tracing:tracing-ktx:1.3.0-alpha02,此兩版與先前的 Alpha 版沒有差別。1.3.0-alpha02 版包含以下修訂項目。

1.3.0-alpha01 版本

2023 年 6 月 7 日

發布 androidx.tracing:tracing:1.3.0-alpha01 和 androidx.tracing:tracing-ktx:1.3.0-alpha01。1.3.0-alpha01 版本包含以下修訂項目。

API 變更

  • 從追蹤記錄中移除 crossinline,允許在 @Composable 中使用。(I53882、b/248344805)

1.2 版本

1.2.0 版本

2023 年 11 月 29 日

發布 androidx.tracing:tracing:1.2.0 和 androidx.tracing:tracing-ktx:1.2.0。1.2.0 版本包含以下修訂項目。

自 1.1.0 版以來的重要異動

  • 使用延遲字串和 Cookie 計算功能新增 trace() 和 traceAsync() 變數。如果 Trace.begin 執行擲回操作,現在也會正確地略過 Trace.end。

1.2.0-rc01 版本

2023 年 5 月 24 日

發布 androidx.tracing:tracing:1.2.0-rc01 和 androidx.tracing:tracing-ktx:1.2.0-rc01。1.2.0-rc01 版包含此連結所列的修訂項目。

修正錯誤

  • 自動截斷過長的追蹤記錄區段名稱,避免發生異常終止 (Iaf6e2)

1.2.0-beta04 版

2023 年 5 月 3 日

發布 androidx.tracing:tracing:1.2.0-beta04 和 androidx.tracing:tracing-ktx:1.2.0-beta04,但沒有任何變更。1.2.0-beta04 版包含此連結所列的修訂項目。

1.2.0-beta03 版本

2023 年 4 月 5 日

發布 androidx.tracing:tracing:1.2.0-beta03 和 androidx.tracing:tracing-ktx:1.2.0-beta03,但沒有任何新變更。1.2.0-beta03 版本包含以下修訂項目。

1.2.0-beta02 版

2023 年 3 月 22 日

發布 androidx.tracing:tracing:1.2.0-beta02 和 androidx.tracing:tracing-ktx:1.2.0-beta02,此兩版與先前的 Beta 版沒有差別。1.2.0-beta02 版包含此連結所列的修訂項目。

1.2.0-beta01 版本

2023 年 3 月 8 日

發布 androidx.tracing:tracing:1.2.0-beta01 和 androidx.tracing:tracing-ktx:1.2.0-beta01,此兩版與上一個 Alpha 版沒有差別。1.2.0-beta01 版包含此連結所列的修訂項目。

1.2.0-alpha02 版本

2023 年 2 月 23 日

發布 androidx.tracing:tracing:1.2.0-alpha02 和 androidx.tracing:tracing-ktx:1.2.0-alpha02,此兩版與上一個 Alpha 版沒有差別。1.2.0-alpha02 版包含此連結所列的修訂項目。

修正錯誤

  • 這個版本修正了升級至 androidx.tracing: tracing-perfetto-common:1.0.0-alpha11 時發生的 Could not find androidx.tracing:tracing-ktx:1.2.0-alpha02 錯誤

1.2.0-alpha01 版本

2022 年 10 月 5 日

發布 androidx.tracing:tracing:1.2.0-alpha01 和 androidx.tracing:tracing-ktx:1.2.0-alpha01。1.2.0-alpha01 版包含此連結所列的修訂項目。

新功能

  • 使用延遲字串和 Cookie 計算功能新增 trace() 和 traceAsync() 變數。如果 Trace.begin 執行擲回操作,現在也會正確地略過 Trace.end (I31421、b/175233952、b/247066503)。

1.1 版本

1.1.0 版本

2022 年 5 月 11 日

發布 androidx.tracing:tracing:1.1.0 和 androidx.tracing:tracing-ktx:1.1.0。1.1.0 版本包含以下修訂項目。

自 1.0.0 版本以來的重要異動

  • 新增了 Trace.forceEnableAppTracing() API,可在無法進行偵錯的建構作業上強制啟用應用程式追蹤區塊擷取 (即 android.os.Trace / androidx.tracing API)。請在啟動時呼叫此功能,以便在 API 29 推出可分析的資訊清單標記之前,啟用無法進行偵錯的準確系統追蹤。(I3a309)
  • 避免在首次載入 Trace.java 時產生類別驗證錯誤 (05f6b4 及 cb101f)

1.1.0-rc01 版本

2022 年 4 月 20 日

發布 androidx.tracing:tracing:1.1.0-rc01 和 androidx.tracing:tracing-ktx:1.1.0-rc01,此兩版與 beta01 沒有差別。1.1.0-rc01 版本包含以下修訂項目。

1.1.0-beta01 版本

2021 年 12 月 1 日

發布 androidx.tracing:tracing:1.1.0-beta01 和 androidx.tracing:tracing-ktx:1.1.0-beta01。1.1.0-beta01 版本包含以下修訂項目。

自 1.1.0-alpha02 以來沒有變更。

1.1.0-alpha02 版本

2021 年 11 月 17 日

發布 androidx.tracing:tracing:1.1.0-alpha02 和 androidx.tracing:tracing-ktx:1.1.0-alpha02。查看 1.1.0-alpha02 版的修訂項。

新功能

  • 新增了 Trace.forceEnableAppTracing() API,可在無法進行偵錯的建構作業上強制啟用應用程式追蹤區塊擷取 (即 android.os.Trace / andoridx.tracing API)。請在啟動時呼叫此功能,以便在 API 29 推出可分析的資訊清單標記之前,啟用無法進行偵錯的準確系統追蹤。(I3a309)

1.1.0-alpha01 版本

2021 年 11 月 3 日

發布 androidx.tracing:tracing:1.1.0-alpha01 和 androidx.tracing:tracing-ktx:1.1.0-alpha01。查看 1.1.0-alpha01 版的修訂項。

修正錯誤

  • 避免在首次載入 Trace.java 時產生類別驗證錯誤 (05f6b4 及 cb101f)

1.0 版本

1.0.0 版

2020 年 10 月 28 日

發布了 androidx.tracing:tracing:1.0.0 和 androidx.tracing:tracing-ktx:1.0.0。查看 1.0.0 版的修訂項。

1.0.0 的主要功能

協助將追蹤事件寫入系統追蹤緩衝區。您可以使用 Systrace 和 Perfetto 等工具以視覺化的方式呈現。此程式庫取代了已淘汰的 androidx.core.os.TraceCompat 類別。

1.0.0-rc01 版本

2020 年 10 月 14 日

發布 androidx.tracing:tracing:1.0.0-rc01 和 androidx.tracing:tracing-ktx:1.0.0-rc01。查看 1.0.0-rc01 版的修訂項。

這個版本與 1.0.0-beta01 相同。

1.0.0-beta01 版本

2020 年 6 月 24 日

androidx.tracing:tracing:1.0.0-beta01 和 androidx.tracing:tracing-ktx:1.0.0-beta01 發布,且自 1.0.0-alpha01 版以來皆無異動。1.0.0-beta01 版本包含以下修訂項目。

1.0.0-alpha01 版本

2020 年 6 月 10 日

發布了 androidx.tracing:tracing:1.0.0-alpha01 和 androidx.tracing:tracing-ktx:1.0.0-alpha01。1.0.0-alpha01 版包含此連結所列的修訂項目。

新功能

androidx.tracing 是一個程式庫,可協助將追蹤事件寫入系統追蹤緩衝區。您可以使用 Systrace 和 Perfetto 等工具以視覺化的方式呈現。此程式庫取代了已淘汰的 androidx.core.os.TraceCompat 類別。此初始版本為 1.0.0-alpha01。

Tracing Perfetto

1.0 版本

1.0.1 版

2025 年 11 月 19 日

發布 androidx.tracing:tracing-perfetto:1.0.1、androidx.tracing:tracing-perfetto-binary:1.0.1 和 androidx.tracing:tracing-perfetto-handshake:1.0.1。1.0.1 版包含這些修訂項目。

修正錯誤

  • 支援 16 KB 頁面大小 (b7a7dd)
  • 移除手動列出新平台 API 存取權的步驟,因為使用 AGP 7.3 以上版本 (例如 R8 3.3 版) 的 R8 時,系統會透過 API 模型自動執行這項作業,而使用 AGP 8.1 以上版本 (例如 D8 8.1 版) 時,所有建構作業都會自動執行這項作業。如果用戶端未使用 AGP,建議更新至 D8 8.1 以上版本。詳情請參閱這篇文章。(Ia60e0、b/345472586)
  • 避免在程式庫中組合 FastNative/CriticalNative 的副本,並使用穩定的平台副本。(I8238a、b/35664282、b/280878596)

1.0.0 版

2023 年 10 月 4 日

發布 androidx.tracing:tracing-perfetto:1.0.0、androidx.tracing:tracing-perfetto-binary:1.0.0 和 androidx.tracing:tracing-perfetto-handshake:1.0.0。1.0.0 版包含此連結所列的修訂項目。

1.0.0 的主要功能

  • 這是 Tracing-perfetto 程式庫的第一個穩定版本。

1.0.0-rc01 版

2023 年 9 月 20 日

發布 androidx.tracing:tracing-perfetto:1.0.0-rc01、androidx.tracing:tracing-perfetto-binary:1.0.0-rc01 和 androidx.tracing:tracing-perfetto-handshake:1.0.0-rc01,且自上一個 Beta 版以來皆無異動。1.0.0-rc01 版本包含以下修訂項目。

1.0.0-beta03 版

2023 年 8 月 30 日

發布 androidx.tracing:tracing-perfetto:1.0.0-beta03、androidx.tracing:tracing-perfetto-binary:1.0.0-beta03 和 androidx.tracing:tracing-perfetto-handshake:1.0.0-beta03。1.0.0-beta03 版包含此連結所列的修訂項目。

  • 版本號碼與 androidx.benchmark 發布版本一致。

1.0.0-beta02 版

2023 年 8 月 23 日

發布 androidx.tracing:tracing-perfetto:1.0.0-beta02、androidx.tracing:tracing-perfetto-binary:1.0.0-beta02 和 androidx.tracing:tracing-perfetto-handshake:1.0.0-beta02。1.0.0-beta02 版包含此連結所列的修訂項目。

新功能

  • 啟用應用程式啟動 (冷啟動) 時的追蹤功能。

1.0.0-beta01 版

2023 年 7 月 18 日

發布 androidx.tracing:tracing-perfetto:1.0.0-beta01、androidx.tracing:tracing-perfetto-binary:1.0.0-beta01 和 androidx.tracing:tracing-perfetto-handshake:1.0.0-beta01。1.0.0-beta01 版本包含以下修訂項目。

API 變更

  • androidx.tracing.perfetto.Trace 已重新命名為 androidx.tracing.perfetto.PerfettoSdkTrace (I44af8)
  • 為求一致,請將通訊協定中的「結束代碼」重新命名為「結果代碼」常數 (Id1d1e)
  • EnableTracingResponse 已重新命名為 Response。(I56275)
  • 新增選項,可在持續模式中啟用冷啟動追蹤功能。新增清除 (持續或非持續) 冷啟動追蹤的函式。(Iaa09d)
  • 將 Tracing Perfetto SDK API 設為與 android.os.Trace 一致。(I73ba0、b/282199917)
  • 改用 LibrarySource 的工廠模式,方便日後視需要將用途 (例如直接載入 .so 檔案) 新增至 API。(I128df)
  • 讓 enableTracingColdStart 參數與 enableTracingImmediate 相符 (I54126)
  • 已移除 enableTracingColdStart 中的 killProcess 引數 (I81c4d)

1.0.0-alpha17 版本

2023 年 6 月 21 日

發布 androidx.tracing:tracing-perfetto:1.0.0-alpha17、androidx.tracing:tracing-perfetto-binary:1.0.0-alpha17 和 androidx.tracing:tracing-perfetto-handshake:1.0.0-alpha17,且自先前的 Alpha 版以來皆無異動。1.0.0-alpha17 版包含此連結所列的修訂項目。

1.0.0-alpha16 版本

2023 年 6 月 7 日

發布 androidx.tracing:tracing-perfetto:1.0.0-alpha16、androidx.tracing:tracing-perfetto-binary:1.0.0-alpha16 和 androidx.tracing:tracing-perfetto-common:1.0.0-alpha16,且自先前的 Alpha 版以來皆無異動。1.0.0-alpha16 版包含此連結所列的修訂項目。

1.0.0-alpha15 版本

2023 年 5 月 3 日

發布 androidx.tracing:tracing-perfetto:1.0.0-alpha15、androidx.tracing:tracing-perfetto-binary:1.0.0-alpha15 和 androidx.tracing:tracing-perfetto-common:1.0.0-alpha15,但沒有任何異動。1.0.0-alpha15 版包含此連結所列的修訂項目。

1.0.0-alpha14 版本

2023 年 4 月 5 日

發布 androidx.tracing:tracing-perfetto:1.0.0-alpha14、androidx.tracing:tracing-perfetto-binary:1.0.0-alpha14 和 androidx.tracing:tracing-perfetto-common:1.0.0-alpha14,但沒有任何新異動。1.0.0-alpha14 版包含此連結所列的修訂項目。

1.0.0-alpha13 版

2023 年 3 月 22 日

發布 androidx.tracing:tracing-perfetto:1.0.0-alpha13、androidx.tracing:tracing-perfetto-binary:1.0.0-alpha13 和 androidx.tracing:tracing-perfetto-common:1.0.0-alpha13,且自上次發布以來皆無異動。1.0.0-alpha13 版包含此連結所列的修訂項目。

1.0.0-alpha12 版

2023 年 3 月 8 日

發布 androidx.tracing:tracing-perfetto:1.0.0-alpha12、androidx.tracing:tracing-perfetto-binary:1.0.0-alpha12 和 androidx.tracing:tracing-perfetto-common:1.0.0-alpha12,且自上一個 Alpha 版以來皆無異動。1.0.0-alpha12 版包含此連結所列的修訂項目。

1.0.0-alpha11 版本

2023 年 2 月 22 日

發布 androidx.tracing:tracing-perfetto:1.0.0-alpha11、androidx.tracing:tracing-perfetto-binary:1.0.0-alpha11 和 androidx.tracing:tracing-perfetto-common:1.0.0-alpha11,但沒有任何異動。1.0.0-alpha11 版包含此連結所列的修訂項目。

1.0.0-alpha10 版本

2023 年 2 月 8 日

發布 androidx.tracing:tracing-perfetto:1.0.0-alpha10、androidx.tracing:tracing-perfetto-binary:1.0.0-alpha10 和 androidx.tracing:tracing-perfetto-common:1.0.0-alpha10,但沒有任何變更。1.0.0-alpha10 版包含此連結所列的修訂項目。

1.0.0-alpha09 版本

2023 年 2 月 10 日

發布 androidx.tracing:tracing-perfetto-binary:1.0.0-alpha09。查看 1.0.0-alpha09 版的修訂項。

新功能

  • 版本升級發布,可讓其他 androidx.tracing:tracing-perfetto*: 1.0.0-alpha09 程式庫共同運作。

2023 年 1 月 11 日

發布 androidx.tracing:tracing-perfetto:1.0.0-alpha09 和 androidx.tracing:tracing-perfetto-common:1.0.0-alpha09,但沒有任何變更。1.0.0-alpha09 版包含此連結所列的修訂項目。

1.0.0-alpha08 版本

2022 年 12 月 7 日

發布 androidx.tracing:tracing-perfetto:1.0.0-alpha08、androidx.tracing:tracing-perfetto-binary:1.0.0-alpha08 和 androidx.tracing:tracing-perfetto-common:1.0.0-alpha08。1.0.0-alpha08 版包含此連結所列的修訂項目。

新功能

  • 透過最佳化字串的處理方式,改善效能。

修正錯誤

  • 新增 ProGuard 規則,避免使用類別時 PerfettoNative 的方法被截斷 (避免在追蹤初始化時在特殊案例中發生當機,但應用程式中沒有任何追蹤呼叫)。

1.0.0-alpha07 版本

2022 年 11 月 9 日

發布了 androidx.tracing:tracing-perfetto:1.0.0-alpha07、androidx.tracing:tracing-perfetto-binary:1.0.0-alpha07 和 androidx.tracing:tracing-perfetto-common:1.0.0-alpha07。1.0.0-alpha07 版本包含以下修訂項目。

  • 降低了 androidx.tracing:tracing-perfetto API 的 JNI 負載。

1.0.0-alpha06 版本

2022 年 10 月 24 日

發布 androidx.tracing:tracing-perfetto:1.0.0-alpha06、androidx.tracing:tracing-perfetto-binary:1.0.0-alpha06 和 androidx.tracing:tracing-perfetto-common:1.0.0-alpha06。1.0.0-alpha06 版包含以下修訂項目。

  • 此更新未包含任何變更,只是更新版本號碼,以便與 androidx.benchmark 保持同步。

1.0.0-alpha05 版本

2022 年 10 月 5 日

發布 androidx.tracing:tracing-perfetto:1.0.0-alpha05、androidx.tracing:tracing-perfetto-binary:1.0.0-alpha05 和 androidx.tracing:tracing-perfetto-common:1.0.0-alpha05。查看 1.0.0-alpha05 版的修訂項。

1.0.0-alpha04 版本

2022 年 9 月 21 日

發布 androidx.tracing:tracing-perfetto:1.0.0-alpha04、androidx.tracing:tracing-perfetto-binary:1.0.0-alpha04 和 androidx.tracing:tracing-perfetto-common:1.0.0-alpha04。1.0.0-alpha04 版包含以下修訂項目。

1.0.0-alpha03 版本

2022 年 9 月 7 日

發布 androidx.tracing:tracing-perfetto:1.0.0-alpha03、androidx.tracing:tracing-perfetto-binary:1.0.0-alpha03 和 androidx.tracing:tracing-perfetto-common:1.0.0-alpha03。

新功能

  • 自 1.0.0-alpha02 版本以來未推出新功能。

1.0.0-alpha02 版本

2022 年 8 月 24 日

發布 androidx.tracing:tracing-perfetto:1.0.0-alpha02、androidx.tracing:tracing-perfetto-binary:1.0.0-alpha02 和 androidx.tracing:tracing-perfetto-common:1.0.0-alpha02。1.0.0-alpha02 版本包含以下修訂項目。

修正錯誤

  • 針對 Perfetto 服務初始化進行多項改善
  • 導入專屬的結束程式碼,以改善無回應案例的處理方式:RESULT_CODE_CANCELLED。
  • 改善剖析錯誤的處理方式。
  • 將 EnableTracingResponse.requiredVersion 設為可為空值,因為如果我們不能與套件通訊,則無法知道該版本。(I5ba20)

1.0.0-alpha01 版本

2022 年 7 月 27 日

發布 androidx.tracing:tracing-perfetto:1.0.0-alpha01、androidx.tracing:tracing-perfetto-binary:1.0.0-alpha01 和 androidx.tracing:tracing-perfetto-common:1.0.0-alpha01。1.0.0-alpha01 版本包含以下修訂項目。

  • 注意:所有 androidx.tracing:tracing-perfetto* 程式庫原本僅供在 AndroidX 程式庫內部使用。因此您不需要直接仰賴這些程式庫。

新功能

  • 所有 androidx.tracing:tracing-perfetto* 程式庫原本僅供在 AndroidX 程式庫內部使用,因此您應不需要直接仰賴這些程式庫。為求資訊公開,我們正在記錄這些實作詳細資料。

  • androidx.tracing:tracing-perfetto 是協助使用低負載 Perfetto SDK 編寫追蹤事件的程式庫。此程式庫可於 Benchmark、Android Studio 或 Perfetto UI 內部使用。

  • androidx.tracing:tracing-perfetto-binary 是 androidx.tracing:tracing-perfetto 所需的二進位檔依附元件組。

  • androidx.tracing:tracing-perfetto-common 是 androidx.tracing:tracing-perfetto 的內部依附元件,可透過工具使用,藉此與 androidx.tracing:tracing-perfetto 整合。