我的文档文件夹中有图像,这些图像显示在我的一个屏幕上。加载图像并在屏幕上显示它们需要时间,这与从 Web 加载图像时类似。据我所知,异步 imageView 适用于后一种情况。我可能错了。
无论如何我们可以异步显示文档文件夹中的图像吗?
我的文档文件夹中有图像,这些图像显示在我的一个屏幕上。加载图像并在屏幕上显示它们需要时间,这与从 Web 加载图像时类似。据我所知,异步 imageView 适用于后一种情况。我可能错了。
无论如何我们可以异步显示文档文件夹中的图像吗?
看看SDWebImage。它是一个 UIImageView 子类,可让您从 URL 异步显示图像并使用有用的缓存。它旨在与 Internet URL 一起使用,但我认为它也可以与内部 URL 一起使用。
将图像的加载放在后台线程中,如下所示
-(void)backgroundLoadImageFromPath:(NSString*)path {
UIImage *newImage = [UIImage imageWithContentsOfFile:path];
[myImageView performSelectorOnMainThread:@selector(setImage:) withObject:newImage waitUntilDone:YES];
}
然后在需要设置图像的任何地方调用该线程
[self performSelectorInBackground:@selector(backgroundLoadImageFromPath:) withObject:path];
请注意,在 backgroundLoadImageFromPath 中,您需要等到 setImage: 选择器完成,否则后台线程的自动释放池可能会在 setImage: 方法保留之前释放图像。