套件概覽
compute 包將 Flutter 的 compute 函數引入非 Flutter 的 Dart 應用程式,使 CPU 負載型任務能在獨立的 isolate 中高效執行。這使得 Android、iOS、Web、macOS、Windows 和 Linux 上的 Dart 程式能夠將繁重的計算任務卸載到背景執行緒,而不會阻塞主執行緒。此套件特別適用於數學密集型運算、資料處理或任何可從平行執行中獲益的任務。該套件維持與 Flutter 原始 compute API 的相容性,同時獨立於 Flutter 框架。
適用情境
- 執行CPU密集型計算
- 處理大型資料集
- 執行背景數學運算
- 提升應用程式的回應性
- 安全執行長時間運行的任務
- 啟用基於隔離區的併發
主要特色
- 跨平台支援
- 符合 Flutter 的 compute API
- 簡單函數介面
- 無 Flutter 依賴
- 執行緒安全執行
- 輕量且獨立
適合對象
- Dart CLI 工具
- 伺服器端 Dart 應用
- Web 應用程式
- 桌面與行動應用程式
- 效能關鍵程式碼
- 非 Flutter Dart 項目
使用建議
- 需要隔離意識
- 僅限於CPU密集型任務
- 不適用於輸入/輸出作業
- 必須處理參數的序列化
- 隔離生命週期管理
- 頻繁呼叫可能導致的記憶體開銷