预加载和缓存图像的最佳实践(AFNetworking)

时间:2014-11-22 13:21:17

标签: ios objective-c caching uiimageview afnetworking

我想知道这个非常常见的行动的最佳做法是什么: 假设我有一个集合视图,此集合视图的每个单元格都有一个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")];
    }
}

}

谢谢,

1 个答案:

答案 0 :(得分:1)

在一个Apple PhotosKit samples中实现了一种在集合视图中预热图像的通用方法。您可以预测用户操作并获取可能很快出现在显示屏上的图像(靠近视口)。此功能在NukeDFImageManager中实施。