Cómo inicializar un Future para que FutureBuilder no lo recree en cada reconstruccion en Flutter
FutureBuilder vuelve a ejecutar tu trabajo asincrono cada vez que el padre se reconstruye porque creaste el Future dentro de build. Muevelo a State.initState (o memoizalo) y FutureBuilder reutilizara el mismo Future. Aqui esta el porque, el caso reproducible y cada variante que muerde.