性能 - UICollectionView加载时间非常慢

时间:2014-03-25 10:14:36

标签: ios objective-c image performance uicollectionview

我正在编写一个使用iDevice相机拍照的应用程序,并将其作为PNG存储在文件系统上。启动我的应用程序时,我加载一个UICollectionView与文件系统上找到的图像。

我面临的问题是应用程序的加载时间(即使它只加载6个图像大约是4秒,这是不可接受的。我已经实现了GCD在后台线程上加载图像(这使得UI保持活泼)但是我真的希望应用程序能够在加载图像时更快地启动。

我的想法是:

我怀疑initWithContentsOfFile需要很长时间来加载完整尺寸的图片。 我考虑在拍摄照片时生成一个单独的缩略图,然后加载它。

最终,当我看到Apple的Photo应用程序时,它立即加载""并且有10张照片。

有没有人对如何加快图像加载或至少看起来有什么建议?

谢谢!

2 个答案:

答案 0 :(得分:0)

试试这个

在后台线程中加载图像并在主线程中设置

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0), ^{

    UIImage *image = [UIImage imageWithContentsOfFile:frontPath];

    dispatch_async(dispatch_get_main_queue(), ^{
        [self.frontButton setBackgroundImage:image forState:UIControlStateNormal];
    });
});

答案 1 :(得分:0)