性能監控使用跟踪來收集有關應用程序中受監控進程的數據。跟踪是包含應用程序中兩個時間點之間捕獲的數據的報告。
對於 Apple 和 Android 應用程序,性能監控會自動測量應用程序中不同屏幕的渲染性能。性能監控為應用程序中的每個屏幕創建屏幕渲染跟踪。這些跟踪收集並測量以下指標:
應用程序中的緩慢或凍結幀可能會導致設備性能不佳,也稱為卡頓或滯後。捕獲凍結和緩慢的渲染幀指標可以幫助您識別性能不佳的屏幕,使您能夠提高應用程序的渲染性能。
您可以在跟踪表的“屏幕渲染”選項卡中查看屏幕渲染跟踪的數據。跟踪表位於Firebase 控制台“性能”頁面的底部。有關詳細信息,請參閱跟踪、查看和篩選性能數據。
通過屏幕渲染跟踪收集的指標
這些跟踪是開箱即用的跟踪,因此您無法向其中添加自定義指標或自定義屬性。
緩慢渲染幀和凍結幀是在假定設備刷新率為 60Hz 的情況下計算的。如果設備刷新率低於 60Hz,則每幀的渲染時間將會變慢,因為每秒渲染的幀數較少。較慢的渲染時間可能會導致報告更多較慢或凍結的幀,因為更多的幀將渲染得較慢或凍結。但是,如果設備刷新率高於 60Hz,則每幀的渲染時間將會更快。這可能會導致報告的慢幀或凍結幀減少。這是性能監控 SDK 中的當前限制。
渲染幀速度慢
該指標是特定屏幕出現明顯緩慢渲染的用戶會話的百分比。具體來說,該指標是超過 50% 的幀渲染時間超過 16 毫秒的屏幕實例的百分比。
凍結幀
該指標是特定屏幕上經歷大量凍結幀的用戶會話的百分比。具體來說,該指標是超過 0.1% 的幀渲染時間超過 700 毫秒的屏幕實例的百分比。
屏幕渲染痕跡是如何生成的?
每個屏幕渲染跟踪都由應用程序中視圖元素的名稱來標識。性能監控客戶端為應用程序使用的每個活動或片段創建屏幕渲染跟踪。
每個屏幕渲染跟踪執行以下操作:
當對像在屏幕上可見時,為每個活動和片段類啟動。
OnActivityStarted()
用於活動,OnFragmentResume()
用於片段。當對像在屏幕上不可見時,停止每個活動和片段類。
OnActivityStopped()
用於活動,OnFragmentPaused()
用於片段。
跟踪、查看和過濾性能數據
要查看實時性能數據,請確保您的應用使用與實時數據處理兼容的性能監控 SDK 版本。了解有關實時性能數據的更多信息。
跟踪儀表板中的關鍵指標
要了解關鍵指標的趨勢,請將它們添加到績效儀表板頂部的指標板中。您可以通過查看每週的變化來快速識別回歸,或者驗證代碼中的最新更改是否正在提高性能。

要將指標添加到指標板,請執行以下步驟:
- 轉到 Firebase 控制台中的性能儀表板。
- 單擊空指標卡,然後選擇現有指標以添加到您的看板中。
- 單擊填充的指標卡上的 可獲取更多選項,例如替換或刪除指標。
指標板以圖形形式和數字百分比變化的形式顯示隨時間推移收集的指標數據。
了解有關使用儀表板的更多信息。
在控制台上查看屏幕性能
要查看跟踪,請轉到 Firebase 控制台中的性能儀表板,向下滾動到跟踪表,然後單擊相應的子選項卡。該表顯示每個跟踪的一些主要指標,您甚至可以按特定指標的百分比變化對列表進行排序。
性能監控在 Firebase 控制台中提供了一個故障排除頁面,其中突出顯示了指標更改,從而可以輕鬆快速解決性能問題並最大程度地減少其對應用和用戶的影響。當您了解潛在的性能問題時,您可以使用故障排除頁面,例如,在以下場景中:
- 您在儀表板上選擇相關指標,您會注意到一個很大的增量。
- 在跟踪表中,您進行排序以在頂部顯示最大增量,並且您會看到顯著的百分比變化。
- 您會收到一封電子郵件警報,通知您出現性能問題。
您可以通過以下方式進入故障排除頁面:
- 在指標儀表板上,單擊查看指標詳細信息按鈕。
- 在任何指標卡上,選擇 => 查看詳細信息。故障排除頁面顯示有關您選擇的指標的信息。
- 在跟踪表中,單擊跟踪名稱或與該跟踪關聯的行中的任何指標值。
- 在電子郵件警報中,單擊“立即調查” 。
當您單擊跟踪表中的跟踪名稱時,您可以深入了解感興趣的指標。單擊“過濾器
按鈕可按屬性過濾數據,例如:
- 按應用程序版本過濾以查看有關過去版本或最新版本的數據
- 按設備過濾以了解舊設備如何處理您的應用
- 按國家/地區過濾以確保您的數據庫位置不會影響特定區域
了解有關查看跟踪數據的更多信息。
片段屬性
在 Android 應用程序上,您可以將片段與另一個活動或片段重用。片段的性能可能會有所不同,具體取決於片段所渲染的片段或活動。使用以下屬性可以根據片段關聯的活動或片段了解有關片段在父片段中如何執行的詳細信息和:

- Hosting_activity — 託管片段的活動。使您能夠了解託管活動中片段的性能。
- Parent_fragment — 您正在研究的片段的父片段。使您能夠了解父片段中片段的性能。如果沒有父片段,則該屬性設置為No Parent 。