首页 > 解决方案 > Flutter for loop 导致加载动画延迟

问题描述

我在 Flutter 中构建了一个 for 循环,在上面我用许多图像制作了一些东西:

for (var i = 0; i < resultList.length; i++) {
  File imageFile = await _getImageFileFromAssets(resultList[i]);

  final appDir = await syspath.getApplicationDocumentsDirectory();

  final fileName = path.basename(imageFile.path);

  final savedImage =
      await File(imageFile.path).copy('${appDir.path}/$fileName');

  // Creating thumbnails

  final thumb =
      image.decodeImage(File(savedImage.path).readAsBytesSync());
  final thumbImage = image.copyResize(thumb, width: 500);

  new File('${appDir.path}/$fileName-thumb-500.jpg')
      .writeAsBytesSync(image.encodeJpg(thumbImage));

  final finalThumbImage =
      File('${appDir.path}/$fileName-thumb-500.jpg');

  picturesData.add(Picture(
      album: albumID,
      path: savedImage.path,
      thumbPath: finalThumbImage.path,
      timestamp: Timestamp.now()));

  setState(() {
    loadingScreen = true;
  });
}

当循环工作时,我会显示一个带有加载动画的加载屏幕小部件:

return loadingScreen == true ? LoadingScreen() : Scaffold()

我的期望一个干净的加载屏幕,而 for 循环持续时间和流畅的动画

我得到的动画极度闪烁和滞后。编辑完每个图像后,动画停止。所以我得到了类似定格动画的东西。

这里可能是什么问题?

标签: flutterdart

解决方案


推荐阅读