0

我的文档文件夹中有图像,这些图像显示在我的一个屏幕上。加载图像并在屏幕上显示它们需要时间,这与从 Web 加载图像时类似。据我所知,异步 imageView 适用于后一种情况。我可能错了。

无论如何我们可以异步显示文档文件夹中的图像吗?

4

2 回答 2

1

看看SDWebImage。它是一个 UIImageView 子类,可让您从 URL 异步显示图像并使用有用的缓存。它旨在与 Internet URL 一起使用,但我认为它也可以与内部 URL 一起使用。

于 2012-07-09T07:44:17.223 回答
1

将图像的加载放在后台线程中,如下所示

-(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: 方法保留之前释放图像。

于 2012-07-09T07:44:51.967 回答