我想知道这个非常常见的操作的最佳做法是什么: 假设我有一个 Collection View ,并且这个 Collection View 的每个单元格都有一个 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")];
}
}
}
谢谢,
有一种在 Collection View 中预热图像的通用方法,该方法已在 Apple PhotosKit samples 之一中实现。 .您可以预测用户操作并获取可能很快出现在显示器上的图像(靠近视口(viewport))。此功能在 Nuke 中实现和 DFImageManager .
关于ios - 预加载和缓存图像的最佳实践 (AFNetworking),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27077844/
欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) | Powered by Discuz! X3.4 |