diff options
author | 2025-02-06 10:20:07 -0800 | |
---|---|---|
committer | 2025-02-06 10:20:07 -0800 | |
commit | a92399ff9bea699f7b26d071f6602f92bc74b83e (patch) | |
tree | 5cd1d533bb61105fcfa4b3cf850d28203f666aa9 | |
parent | 8896bc45d0ea005ff54f97a023af4d8d96f4f09d (diff) |
Reset flow event cache before each perfetto event
This was just an omission. The omission led to a performance
regression (code was still logically correct) where we will
create a new Flow object on every trace event. This was
expensive and led to GC churn.
Change-Id: Idb027748f1bf3a44e1dfae7c666be4688b2e9338
Test: atest PerfettoTest
Test: atest TracePerfTest
Bug: 303199244
Flag: android.os.perfetto_sdk_tracing_v2
-rw-r--r-- | core/java/android/os/PerfettoTrackEventExtra.java | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/core/java/android/os/PerfettoTrackEventExtra.java b/core/java/android/os/PerfettoTrackEventExtra.java index 32fbea4ff4c2..adb98aa25f8f 100644 --- a/core/java/android/os/PerfettoTrackEventExtra.java +++ b/core/java/android/os/PerfettoTrackEventExtra.java @@ -442,6 +442,7 @@ public final class PerfettoTrackEventExtra { mFieldStringCache.reset(); mFieldNestedCache.reset(); mBuilderCache.reset(); + mFlowCache.reset(); mExtra.reset(); // Reset after on init in case the thread created builders without calling emit |