系統配置優化
/etc/sysctl.conf文件,添加或修改以下參數以優化內存和網絡性能:vm.swappiness=10(減少swap使用)、fs.file-max=100000(增加文件描述符限制)、net.core.somaxconn=4096(提升網絡連接處理能力);應用更改需執行sysctl -p。systemctl stop <服務名>和systemctl disable <服務名>停止并禁用不常用的系統服務(如防火墻、藍牙等),減少系統資源占用。開發環境設置優化
flutter upgrade命令更新Flutter至最新穩定版,確保獲得最佳性能優化和bug 修復;Dart SDK也會隨Flutter自動更新。vmoptions文件增加-Xmx參數)、啟用代碼分析和性能檢查工具,避免IDE本身成為性能瓶頸。flutter run --profile運行應用,收集性能數據;通過flutter doctor檢查潛在問題(如缺失依賴、工具鏈配置錯誤),并根據提示解決。Flutter應用代碼優化
const構造函數創建不可變Widget(如const Text('Hello')),避免不必要的重建;為需要跟蹤變化的Widget添加Key(如Key('unique_key'));使用StatefulWidget管理狀態,確保狀態更新僅影響必要子組件。Column/Row嵌套),使用LayoutBuilder或CustomPainter實現高效自定義布局;避免使用Opacity、Transform等可能導致重繪的操作。CustomPainter中重寫shouldRepaint()方法,返回false表示無需重繪;使用RepaintBoundary包裹需要頻繁更新的組件(如動畫、動態列表),隔離重繪區域。Future、Stream和async/await處理耗時任務(如網絡請求、數據庫查詢),避免阻塞UI線程;將繁重計算卸載到后臺線程,使用Dart的compute()函數。cached_network_image庫緩存網絡圖片,減少重復網絡請求;優先使用高效圖片格式(如WebP),降低圖片加載時間和內存消耗;使用ListView.builder、GridView.builder實現列表懶加載,僅構建可見區域的Item。性能分析與瓶頸定位
flutter pub global activate devtools安裝DevTools,使用Timeline視圖查看幀率、構建/布局/繪制時間,識別卡頓的組件;使用CPU分析器查看熱點函數,優化耗時操作;使用內存分析器檢查內存泄漏。