0

我正在开发一个在 Documents 目录中保存多个图像的应用程序。这些图像最多可以有 100 个。现在使用以下方法从 Documents 目录中读取图像。对 Documents 目录中的所有图像调用此方法。

UIImage *currentImage = [UIImage imageWithContentsOfFile:pathOfFileInDocumentsDictory];

所以在更糟糕的情况下,这个方法将运行 100 张图像,我使用 XCode 检查过这个方法大约需要 100 毫秒。因此,如果我没记错的话,这使 100 张图像需要 10 秒。我想让它高效。有没有更好的方法可以在更短的时间内有效地读取这些图像?

4

1 回答 1

2

使用运行循环,您可以这样做:

-(void) loadInBackground {

    [self performSelectorInBackground:@selector(_loadInBackground) withObject:nil];

}

-(void) _loadInBackground {

    // Do all your heavy loading here
    UIImage *currentImage = [UIImage imageWithContentsOfFile:pathOfFileInDocumentsDictory];
    [self performSelectorOnMainThread:@selector(loadedImage:) withObject:currentImage waitUntilDone:YES];

}

-(void) loadedImage:(UIImage*)img {

    // Do something with the loaded image
    anImageView.image = img;

}
于 2012-09-05T15:42:24.380 回答