Android 日曆團隊如何運用基準設定檔改善應用程式啟動和卡頓情形

基準設定檔可避免將 及時 (JIT) 翻譯 步驟 常見使用者歷程基準設定檔可讓您選擇使用者歷程 希望最佳化應用程式,並協助改善應用程式啟動、減少資源浪費等等。 進而提升業務指標,例如使用者留存率和評分 進一步瞭解基準 設定檔

Android 日曆團隊導入基準設定檔,並觀察到約 20% 的應用程式 縮短啟動時間,緩慢或凍結影格的數量則降低約 50%。接下來 他們採取了哪些措施來實現這些成效,這就是為什麼 決定使用基準設定檔來評估其影響。

雲端設定檔與基準設定檔

Android 日曆團隊已在使用 Cloud 設定檔,需要 是另一種根據實際使用情境進行的設定檔引導最佳化 (PGO) 方法 使用者與應用程式的互動情形以下說明雲端設定檔和基準設定檔的方式 比較:

設定檔類型 設定 納入使用者歷程 要達到最佳效果, 獲得的影響 支援的 Android 版本

雲端設定檔

預設啟用

根據實際使用者資料自動選擇

幾天內

Android 9 以上版本 (API 層級 28)

基準設定檔

由您設定

你選擇的內容

所有尺寸

立即

Android 7 (API 級別 24) 以上版本

Android 日曆團隊決定將基準設定檔加入以下主要原因之一 他們的程式碼集則是因為公司加快了每週的發布週期。 雖然雲端設定檔可大幅提升效能,但可能需要 1 至 2 天的時間 在應用程式推出後觸及他們,因為他們仰賴 匯總實際使用者資料使用基準補充雲端設定檔 透過設定檔,使用者有更多時間體驗效能最佳改進 。

此外,Android 日曆團隊也必須能夠 選擇要納入的重要使用者歷程 (CUJ) 設定檔,您可以使用基準設定檔。

一般來說,除了 Cloud 設定檔之外,我們也建議使用基準設定檔 預設啟用,以獲得最佳成效。

納入使用者歷程

Android 日曆團隊選擇在基準設定檔中加入兩個 CUJ:

  • 在時間表檢視模式中開啟應用程式:最初是預設檢視畫面,因此請務必 為首次使用應用程式的使用者進行最佳化 預設設定。
  • 在月檢視模式中開啟應用程式:眾多使用者所選的檢視畫面 (視使用者而定) 資料。如要追蹤使用者如何使用應用程式,您可以使用下列工具: Firebase

一般來說,您應該加入能為商家帶來利潤的 CUJ (如果 ) 和最常見的 CUJ。進一步瞭解如何選擇 使用 CUJ 進行最佳化,請參閱這篇文章 包括

實作

Android 日曆小組會使用內部包裝函式, Jetpack Macrobenchmark 程式庫 產生基準設定檔,以便與內部工具輕鬆整合 以及一般擴充性

以下是 Macrobenchmark 測試設定,用於在排程中開啟應用程式的 檢視表:

@Test
fun generateProfile() =
    baselineProfileRule.collect(PACKAGE_NAME, includeInStartupProfile = true) {
        startActivityAndWait()
        // Verify pre-existing recurring events and tasks are shown.
        device.waitAndFindObject(By.text("Recurring event"), 20_000)
        device.waitAndFindObject(By.text("Recurring task"), 20_000)

        // Open drawer and verify selected view.
        device.findObject(By.desc("Show Calendar List and Settings drawer")).click()
        device.waitAndFindObject(By.desc("Schedule view, Selected"), 1_000)
    }

使用管控版本評估影響

因為基準設定檔與接收的 APK 緊密結合 因而無法在應用程式執行前採用 進而瞭解其影響不過,Android 日曆團隊之前 並可透過「對照版」準確評估影響力,其中 基本上就是對部分使用者發布新版應用程式 與上一個版本類似的使用者。

使用基準設定檔後,該公司發現以下情況,立即產生了重大影響: 改善多個方面這些數據彙整自 以及所有使用者,例如以時間表和月檢視開始 通常能獲益良多,其他使用者也能因為 將共用程序最佳化,例如從 資料庫

  • 互動式應用程式啟動 (最常見的情況) 延遲時間中位數,從 775 毫秒至 644 毫秒 (17%)
  • 冷啟動延遲時間中位數從 1,058 毫秒縮短至 901 毫秒 (15%)
  • 暖啟動延遲時間中位數已從 453 毫秒縮短至 378 毫秒 (17%)
  • 排程和月觀看次數中的卡頓影格速率中位數降低了 42% 至 60%

請注意,如果您將雲端設定檔與基準搭配使用 隨著期間, 更新位置。不過, 觀察到基準設定檔,運作效能大幅提升 現有的最佳化功能

如要進一步瞭解這些工具和功能,請參閱下列資源: