iOS图片加载(imageData)
高洛峰
高洛峰 2017-04-18 09:30:25
0
3
349

微信和微博分享的对于原生封装的加载图片的方法如下:

+ (NSData )loadImageDataWithImageUrl:(NSString )urlString {

NSURL *url = [NSURL URLWithString:urlString];
SDImageCache *imageCache = [SDImageCache sharedImageCache];
UIImage *image = nil;
NSData *imageData = nil;
//有缓存,从缓存中去图片

if ([imageCache imageFromMemoryCacheForKey:urlString]) {

image = [imageCache imageFromMemoryCacheForKey:urlString];

imageData = UIImageJPEGRepresentation(image, 1.0);

}else if ([imageCache imageFromDiskCacheForKey:urlString]) {

image = [imageCache imageFromDiskCacheForKey:urlString];

imageData = UIImageJPEGRepresentation(image, 1.0);

}else{

//缓存中没有图片去下载
imageData = [NSData dataWithContentsOfURL:url];
}
return imageData;
}

现在 : imageData = [NSData dataWithContentsOfURL:url]; 这句代码的效率极低,导致分享会很慢,现在求优化方法,望各位大神指点!

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

membalas semua(3)
刘奇

Bukankah anda menulis: Tiada muat turun dalam cache... semuanya dimuat turun Ia mesti sangat perlahan menggunakan kaedah asas ini.
Saya tidak begitu faham, kerana SDWebImage digunakan, mengapa kita perlu menulis kaedah lain untuk memuatkanImageData


Tambahan

Muat turun imej UIImage dan kemudian tukarkannya kepada data
Bukankah cache anda sama seperti mengeluarkan imej dan menukarnya kepada data?

伊谢尔伦

@Curiousity Jika ia tiada dalam cache, ia perlu dimuat turun Adakah terdapat kaedah yang lebih baik daripada imageData = [NSData dataWithContentsOfURL:url]; ? Saya telah melihat SDWebImage, tetapi tidak ada cara untuk memuat turun imageData secara langsung!

Ty80

Cuba ini secara tak segerak
SDWebImageDownloader.h

- (id <SDWebImageOperation>)downloadImageWithURL:(NSURL *)url
                                         options:(SDWebImageDownloaderOptions)options
                                        progress:(SDWebImageDownloaderProgressBlock)progressBlock
                                       completed:(SDWebImageDownloaderCompletedBlock)completedBlock;
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan