C Talk+ #11 邁向高效之路:解鎖 Jetpack Benchmark 的效能秘密

Benchmark

2025 年 7 月 31 日 CMoney 與 Android Taipei 攜手舉辦了一場精彩的技術分享會,我們邀請到資深 Android 工程師 Willie,不藏私地分享了 CMoney Android 團隊如何在實際工作中應用 Jetpack Benchmark,帶你看懂「效能」背後的數據邏輯與優化方法,讓產品效能顯著提升。

無論你是否具備 Android 開發背景,都能藉此了解為什麼效能優化不該只憑感覺,而是必須透過客觀數據來驗證,讓 App 開得快、跑得穩、數據有根據!

Benchmark 技術簡介:讓效能優化有憑有據

你是否也曾遇到 App 啟動慢、操作卡的問題?根據黃金 3 秒法則,用戶對啟動時間的忍受度極低,App 使用者的體驗好壞往往取決於啟動的那幾秒,超過 3 秒就可能流失。在競爭激烈的 App 市場中,效能不再是加分題,而是決定生死的關鍵!

每個開發者都希望能讓自己的產品更流暢、反應更快,但如何提升效能常常是個難題,如果只靠主觀感受往往不夠準確,而隨意調整程式碼可能導致事倍功半,甚至引入新的問題。這時,Benchmark 等效能檢測工具就派上用場了。簡單來說,Jetpack Benchmark 就像是為你的產品進行「年度健檢」,能精準地測量並記錄程式碼的執行效能,衡量目前程式碼的狀況,並提供科學、可量化的數據報告,讓優化有憑有據。

那麼,我們該如何解讀 Benchmark 的測試報告呢?Willie 在 C Talk+ 中分享報告中幾個重要的指標,能幫助我們快速掌握程式碼的效能狀況:

  • nanos (奈秒)這是程式碼執行所花費的時間,單位是奈秒 (ns),原則上數值越小越好。它代表了完成一個特定任務的平均時間,是衡量效能最直接的指標。
  • median (中位數), min, max:這組數據讓我們看到效能的整體分佈。min 和 max 代表了最快和最慢的執行時間,而 median(中位數)則是將所有測試結果由小到大排序後,位於中間的數值。相比於容易被極端值影響的平均值,中位數更能代表大多數用戶所經歷的真實效能,因此更具參考價值。
  • allocs (記憶體用量):這個指標顯示程式碼在執行過程中,產生了多少次記憶體分配。數字越低,通常代表程式碼的記憶體使用效率越好。

此外,透過 Trace 檔案,工程師可以得到一份更為詳細的效能「報告書」。這份報告能以時間軸的形式,視覺化地呈現出程式碼在執行時,每個方法所花費的時間與消耗的資源,讓開發者可以精確地定位到是哪一個功能或哪一段程式碼拖慢了整個流程,不再需要盲目地猜測問題所在,對於找出效能瓶頸至關重要。

 

Benchmark 之於 CMoney Android 團隊的重要性

CMoney 的 Android 工程團隊目前有約 20 位成員,主要的日常任務包括:配合產品團隊的需求,在前端顯示資料並處理相應邏輯、修正產品上線後出現的 Bug;以及因應 Android 平台每年升級,進行定期的安全性維護與效能提升。

在過去,團隊也曾面臨「優化憑感覺」的困境,難以客觀衡量每一次程式碼調整帶來的實際效益,因此決心全面導入效能監測工具。當初選擇 Benchmark 主要根據幾個原因:首先,它是 Google 官方最推薦的效能衡量工具,透過官方推薦的工具,可以確保其穩定性與持續維護性,不必擔心未來無人維護的問題;其次,Benchmark 讓效能優化成為一個可量化、可驗證的流程,讓團隊可以清楚地看到每一次的優化所帶來的具體數據。

 

CMoney 應用 Benchmark 的真實案例

在演講中,Willie 分享了 CMoney 團隊如何將 Microbenchmark 應用於日常開發的真實案例。當時有用戶反應,某個產品在讀取特定資料時畫面會明顯卡頓,因此團隊選擇先透過 Microbenchmark 進行精準檢測,找到問題所在。

在測試後,他們發現瓶頸在於一個處理大型文字檔案的流程。為了解決這個問題,團隊先是調整了資料處理流程,不再是單純地依序處理文字,而是先找到檔案中的「章節」標籤,再根據這些章節來分割和處理內容,讓整個資料流程變得更有條理且高效。

經過這次調整,團隊再次透過 Microbenchmark 進行測試,結果驚人:原本需要耗時約 1000 毫秒的資料處理,經過優化後,時間大幅縮短到只剩下 100 毫秒。這項改善不僅解決了用戶回報的畫面卡頓問題,也具體展現了 Microbenchmark 如何幫助開發者用客觀數據說話,不再讓優化憑感覺。

 

結語:用三步框架,讓效能優化落地

Willie 在演講的最後,點出了他對於效能優化的核心觀點:「效能是產品功能的一部分。」一個功能再強大的產品,如果體驗不夠流暢,最終也會讓使用者望之卻步。

他鼓勵所有開發者,不必將效能優化視為一項艱鉅的任務,而是透過一個簡單的「三步框架」,每個人都能啟動第一輪可見成效的優化:測量、優化、驗證。首先,使用 Benchmark 測量現有產品的效能,找到瓶頸;接著針對瓶頸進行優化;最後,再次測量,用數據驗證優化成果。這套方法論不僅適用於 Android,也能套用在任何平台的開發上。

如果你對效能優化充滿熱情,或是想了解更多關於 CMoney 團隊的開發文化與技術實踐,歡迎持續關注我們的技術部落格。如果你對我們的技術氛圍和開發工作感興趣,也歡迎參考我們的職缺資訊,或許下一個在 C Talk+ 舞台上分享的講者就是你!

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

返回頂端