Desenvolvi um app com a ajuda deste curso e estou enfrentando um problema talvez simples de resolver. Tenho um App que comunica com uma API para consultar em 2 tabelas do meu banco Oracle; No momento em que estou com as 2 listas das tabelas, eu preciso criar uma terceira lista com determinados critérios com base nas duas que eu já havia armazenado. Para isso eu fiz uma cadeia de For que percorre uma lista percorrendo a outra como no Exemplo Abaixo:
List<LoteSAP> lotes = await getApi.consultarLotes();
List<Ferramenta> ferramentas = await getApi.consultarFerramentas();
List<Ferramenta> listaAux = [];
for (LoteSap lote in lotes) {
for (Ferramenta ferr in ferramentas) {
if (lote.codMaterial == ferr.codigo && lote.centro == almox.centro.toString() && lote.deposito == almox.deposito) {
if (!listaAux.contains(ferr)) {
listaAux.add(
Ferramenta(
codigo: ferr.codigo,
descricao: ferr.descricao,
estoqueUsado: ferr.estoqueUsado,
loteSAP: lote.lote,
unidade: ferr.unidade,
quantidade: ferr.quantidade,
justificativa: ferr.justificativa,
selecao: ferr.selecao,
),
);
}
}
}
}
Meu problema é que essas duas listas tem um pouco mais de 30k de registros, quando o processo chega no For() o app trava meu CircularProgressIndicator() por aproximadamente 1 min, eu gostaria de saber se existe alguma solução, será que talvez a melhor forma seria atrelar essas listas enquanto ainda estão na API e enviar somente a terceira para o App?