我注意到一个问题,图像资源加载速度太慢而无法使用。
在这个简单的例子中(下面),当图像被加载时,你可以看到一个初始屏幕,然后图像资源加载并出现在屏幕上。
我希望一口气看到所有内容,而不是看到正在加载的资产
Widget build(BuildContext context) {
return Scaffold(
body: Stack(
children: [
Positioned.fill(child: Image.asset(imagePaths[6], fit: BoxFit.cover)),
]
)
);
}
Run Code Online (Sandbox Code Playgroud)
知道我可以做些什么来使这些图像加载速度更快吗?即使在发布版本中,它的加载资产也很慢,用户可以看到它
从资产加载图像的速度对我来说似乎很好。它可能与您尝试显示的图像的大小和数量有关。你能提供一个 最小的重现来证明这个问题吗?我想了解您加载图像的方法的基准速度,并看看是否有改进的方法。
precacheImage正如上面的评论中提到的,您还可以尝试在屏幕显示之前使用预加载图像资源。一个简单的实现应该如下所示:
AssetImage assetImage;
@override
void initState() {
super.initState();
assetImage = AssetImage('assets/yourimage.png');
precacheImage(assetImage, context);
}
@override
Widget build(BuildContext context) {
// build your screen here
Image(image: assetImage);
// build your screen here
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3686 次 |
| 最近记录: |