Communitygithub.com

ParkersYourDad/行動裝置效能與可靠性

衡量並改善 Flutter 行動應用的啟動、畫面渲染、滾動、動畫、記憶體、電池、網路效能及服務可靠性,並以可重複的證據為基礎。適用於緩慢或卡頓的應用、效能預算、效能分析或生產環境可靠性。

行動裝置效能與可靠性 是什麼?

這個技能專注於 Flutter 行動應用的效能與可靠性最佳化。它提供了一套標準化的測量協定與最佳化流程,確保所有改善都基於實際裝置上的可重複證據,而非模擬器或除錯模式的結果。此技能支援多個平台,包含 iOS 與 Android,並適用於所有 Flutter 應用。它處理的領域包括啟動時間、畫面幀率、滾動效能、動畫流暢度、記憶體用量、網路請求、電池消耗及服務可靠性。技能的核心精神在於避免過早最佳化,並要求每項改善都必須有明確的基準線與前後對比證據,以確保使用者體驗的實際提升。此技能也涵蓋了效能預算、效能分析、瓶頸診斷與回歸測試,是確保 Flutter 應用在生產環境中維持高效能與高可靠性的關鍵工具。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/ParkersYourDad/flutter-engineering-skills/tree/HEAD/skills/mobile-performance-reliability

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

行動裝置效能與可靠性 是做什麼的?

共同標準

請使用這些儲存庫層級的文件作為唯一的事實來源。請勿將其檢查清單複製到本技能中,或建立衝突的本機變體:

任務

找出已測量的瓶頸,並改善使用者可見的結果,避免過早最佳化或不必要的架構調整。

負責範圍

效能預算、效能分析計畫、啟動/幀率/記憶體/網路測量、瓶頸診斷、可靠性指標、效能回歸檢查,以及有證據支持的修正建議。

不負責範圍

視覺方向、變更產品需求、缺乏證據的大規模重構,或宣稱根據除錯/模擬器測量結果的成效。

測量協定

  • 在實際物理裝置上使用 Flutter 的 Profile 模式進行效能分析;使用 Release 建置進行發布前的冒煙測試與啟動行為測試。除錯與模擬器結果不具備發布效能的證據力。
  • 從支援的最低階裝置開始,並在相關時納入高更新率的裝置。
  • 記錄裝置、作業系統、更新率、Flutter/Dart 版本、建置模式、情境、資料集大小、網路條件、重複次數與工具。
  • 分別檢查 UI 與 Raster 的幀率時間。幀預算由顯示器更新率決定;不要對所有裝置強加一個 60 Hz 的門檻。
  • 在樣本數足夠時報告 P50/P95。區分冷啟動與熱啟動、首次使用與已暖機的動畫,以及本機渲染與網路等待。
  • 測量使用者旅程:首次互動、主要導航、滾動、搜尋/輸入、媒體、彈出視窗,以及高成本的轉場。
  • 在暖機後與重複旅程後測量記憶體;區分暫時性分配與正常的垃圾回收,以及因物件滯留造成的記憶體洩漏。
  • 測量酬載大小、請求數量、延遲、重試、取消、快取命中/未命中,以及慢速網路行為。
  • 僅在應用程式使用輪詢、位置、媒體、頻繁同步或即時串流時,才監控電量/背景工作。

最佳化流程

  1. 在受控情境下重現問題。
  2. 取得基準線,並辨識瓶頸是來自建置/佈局、raster/GPU、Dart CPU、原生/外掛程式、圖片解碼、記憶體壓力、I/O 還是網路。
  3. 選擇能解決已測量原因的最小變更。
  4. 新增或更新回歸測量/測試。
  5. 在相同條件下比較前後結果。
  6. 檢查正確性、可及性、記憶體與電池的權衡。

避免事項

過早使用 Isolate、過多的 RepaintBoundary、無限制的快取、載入整個資料集、不必要的輪詢、高成本的透明度/裁切/saveLayer 效果、大範圍重建、在建置中執行同步工作,以及缺乏證據的渲染器標誌。除非效能分析顯示特定裝置問題且已記錄決策,否則保持 Flutter 渲染器的預設值。

可靠性

對於關鍵的生產旅程,與營運團隊合作定義 SLIs/SLOs,涵蓋完成率、延遲、可用性與新鮮度。調查崩潰/ANR 率、啟動回歸、後端相依性、超時、重試風暴,以及在應用暫停/恢復或連線變更後的恢復能力。

驗收門檻

每個關鍵的效能需求都必須有可重複的情境、環境、指標、百分位數、閾值與基準線。發現問題時需找出原因;宣稱的最佳化必須包含前後對比證據。未經測量的硬體/平台行為視為「未驗證」。

相關技能