Flutter 颤振-如何正确显示合成的SVG图像

Flutter 颤振-如何正确显示合成的SVG图像,flutter,svg,Flutter,Svg,我想在flatter中显示一个合成的SVG图像,我目前正在使用flatter\u SVG库 我的图片由不同的层组成,可以使用应用程序的GUI(创建一个化身)组合在一起 原则上,它与SVGPictures的堆栈配合得很好,但在加载时,出现的问题是,一些SVG的显示时间比其他SVG稍晚,并且图形在短时间内看起来已损坏-例如,化身的上体没有被加载,但是身体的其余部分——化身在中间有一个洞… 是否有一种方法仅当所有零件都已加载且可以显示时才显示SVGPictures中的合成?理想情况下,虚拟对象也应该显

我想在flatter中显示一个合成的SVG图像,我目前正在使用flatter\u SVG

我的图片由不同的层组成,可以使用应用程序的GUI(创建一个化身)组合在一起

原则上,它与SVGPictures的堆栈配合得很好,但在加载时,出现的问题是,一些SVG的显示时间比其他SVG稍晚,并且图形在短时间内看起来已损坏-例如,化身的上体没有被加载,但是身体的其余部分——化身在中间有一个洞…


是否有一种方法仅当所有零件都已加载且可以显示时才显示SVGPictures中的合成?理想情况下,虚拟对象也应该显示这么长的时间。

具有许多层的SVG在加载时肯定会导致一点延迟,因此,如果您希望平稳加载它们,可以尝试预加载SVG

final svg = SvgPicture.asset('assets/vector.svg');
final svgAnother = SvgPicture.asset('assets/vector.svg');

@override
Widget build(BuildContext context) {
  return Stack(
    children:[
      svg, // Load preloaded svg smoothly
      svgAnother,
    ],
  );
}

在我们的例子中,大约有数千个SVG图形,因此以这种方式预加载对我们来说不起作用。如果是数千个,那么肯定应该延迟加载SVG。预加载它们会导致应用程序占用大量内存。