在接触用异步去加载图片时,我是这样的 根据id下载图片一次一张
await newfetchImageFromServer(int imageId)
这样下载时,还以为是加载慢速 ... ... ... 就这样一直没处理 直到有一天打算处理这个问题,突然发现,为什么不一次性多一步(异步)? 所以就去搜了资料
..
...
...
找到了这个东西
List<Future>
用它来存储多个异步操作(虽然不知道怎么更好叫他)
使用方法则是 (newfetchImageFromServer是我的异步方法,根据id在服务器里获取图片并下载)
List<Future> fetchTasks = [];
int startId = _items.length + 1; // 从当前 _items.length 开始计数
for (int i = 0; i < 10; i++) {
final imageId = startId + i; // 为每个任务生成唯一的 imageId fetchTasks.add(newfetchImageFromServer(imageId)); // 将每个图片加载任务添加到列表中
print('$i添加到列表中id ${imageId}');
}
// 等待所有任务完成
await Future.wait(fetchTasks);
// 所有图片加载完成后,更新 UI
print('所有图片加载完成');
这样他就会一口气十步去下载图片,大大提高速度问题