Precarga de activos de imágenes locales en Flutter

Tengo una lista simple de recursos de imagen, y tengo un widget de imagen en pantalla. Utilizo un botón para recorrerlos, usando setState ().

const List<String> _photoData = const [
  "assets/generic-cover.jpg",
  "assets/generic-cover2.jpg",
  "assets/generic-cover3.jpg",
  "assets/generic-cover4.jpg",
];

class _MyHomePageState extends State<MyHomePage> {

  int _coverPhoto = 0;

  void _switchCoverPhoto() {
    setState(() {
      _coverPhoto++;
      if (_coverPhoto == _photoData.length) {
         _coverPhoto = 0;
      }
    });
  }

  @override
  Widget build(BuildContext context) {

    return new Scaffold(
      body: new Stack(
        children: <Widget>[
          new Image.asset (
            _photoData[_coverPhoto],
            fit: ImageFit.cover,
            height: 600.0,
          ),
          new Positioned ( // photo toggle button
            child: new IconButton(
              icon: new Icon (Icons.photo),
              onPressed: _switchCoverPhoto,
              color: Colors.white,
            ),
            top: 32.0,
            right: 32.0,
          ),
        ]
      )
    );
  }

La primera imagen se ve bien. Sin embargo, cuando llamo a _switchCoverPhoto (), hay un breve destello blanco antes de que se muestre "assets / generic-cover2.jpg".

Lo que lleva a una pregunta simple: ¿hay una manera fácil de precargar una imagen (o imágenes) posterior en la memoria, para que no haya flash de antemano?

Ver GIF adjunto para una aproximación suelta.

Respuestas a la pregunta(1)

Su respuesta a la pregunta