Visão geral
O pacote compute traz a função compute do Flutter para aplicações Dart não baseadas em Flutter, permitindo a execução eficiente de tarefas intensivas em CPU em um isolate separado. Isso permite que programas Dart em Android, iOS, Web, macOS, Windows e Linux desloquem cálculos pesados sem bloquear a thread principal. É particularmente útil para operações matemáticas intensivas, processamento de dados ou qualquer tarefa que se beneficie da execução paralela. O pacote mantém compatibilidade com a API original de compute do Flutter, ao mesmo tempo que é independente do framework do Flutter.
Casos de uso
- Executar cálculos intensivos em CPU
- Processamento de grandes conjuntos de dados
- Realizando operações matemáticas em segundo plano
- Melhorar a responsividade do aplicativo
- Executar tarefas de longa duração de forma segura
- Habilitar concorrência baseada em isolamento
Principais recursos
- Suporte multiplataforma
- Corresponde à API compute do Flutter
- Interface de função simples
- Nenhuma dependência do Flutter
- Execução segura para threads
- Leve e independente
Indicado para
- Ferramentas da CLI do Dart
- Aplicações Dart do lado do servidor
- Aplicações web
- Aplicativos para desktop e móvel
- código crítico para desempenho
- Projetos Dart não Flutter
Considerações
- Requer consciência de isolamento
- Limitado a tarefas limitadas por CPU
- Não adequado para operações de E/S
- Deve lidar com a serialização de argumentos
- Gerenciamento de ciclo de vida isolado
- Sobrecarga de memória potencial para chamadas frequentes