我想知道这个非常常见的行动的最佳做法是什么: 假设我有一个集合视图,此集合视图的每个单元格都有一个imageView,它接收图像的URL。
图像很大,所以我想提前预先加载所有图像(或提前说5)。 我正在使用AFNetworking imageView类别。
所以这就是我所做的 - 创建一个临时UIImageView并在每次迭代时设置url,但似乎没有正常工作。 (图像仍然需要时间显示,而我希望它立即显示,如果我关闭互联网连接,图像不会从缓存加载。)
- (void)preloadGalleryImages {
for (GalleryItem *item in _galleryItems) {
UIImageView *tempImageView = [[UIImageView alloc] init];
[tempImageView setImageWithURL:item.imageURL placeholderImage:IMAGE(@"placegolder")];
}
}
}
谢谢,
答案 0 :(得分:1)
在一个Apple PhotosKit samples中实现了一种在集合视图中预热图像的通用方法。您可以预测用户操作并获取可能很快出现在显示屏上的图像(靠近视口)。此功能在Nuke和DFImageManager中实施。