从网络加载图像可能需要很长时间才能加载,原因有几个,其中两个最明显的是
- 设备上的互联网连接缓慢(Wifi / 3G / 2G)。
- 服务器超载。
如果您可以控制服务器和存储在其上的图像,为了加快速度,您总是可以最初加载一个较小的版本(低质量预览/缩略图),然后在需要时加载一个更大/全尺寸的版本:
typedef enum {
MyImageSizeSmall,
MyImageSizeMedium,
MyImageSizeLarge
} MyImageSize;
-(void)requestAndLoadImageWithSize:(MyImageSize)imageSize intoImageView:(UIImageView *)imageView
{
NSString *imagePath
switch (imageSize)
{
case MyImageSizeSmall:
imagePath = @"http://path.to/small_image.png";
break;
case MyImageSizeMedium:
imagePath = @"http://path.to/medium_image.png";
break;
case MyImageSizeLarge:
imagePath = @"http://path.to/large_image.png";
break;
}
[imageView setImageWithURL:[NSURL URLWithString:imagePath]
placeholderImage:[UIImage imageNamed:@"placeholder.png"]];
}