我一直在使用SDWebImage的setImageWithURL ...来加载tableview上的远程图像。这很完美。
现在我需要创建一个用户保存图像的表,但由于图像不是远程的,我不能使用SDWebImage。除了图像由用户使用[imageData writeToFile ..]保存,所以我也不能使用imageNamed。
我尝试使用GCD(此代码是UIImageView +类别的一部分..):
dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0ul);
dispatch_async(queue, ^{
UIImage *image = [UIImage imageWithContentsOfFile:filePath];
dispatch_sync(dispatch_get_main_queue(), ^{
[self setImage:image];
[self setNeedsLayout];
});
});
它仍然比SDWebImage管理的远程图像表慢得多。有没有办法处理LOCAL图像的缓存/异步加载?