我正在编写一个使用iDevice相机拍照的应用程序,并将其作为PNG存储在文件系统上。启动我的应用程序时,我加载一个UICollectionView与文件系统上找到的图像。
我面临的问题是应用程序的加载时间(即使它只加载6个图像大约是4秒,这是不可接受的。我已经实现了GCD在后台线程上加载图像(这使得UI保持活泼)但是我真的希望应用程序能够在加载图像时更快地启动。
我的想法是:
我怀疑initWithContentsOfFile
需要很长时间来加载完整尺寸的图片。
我考虑在拍摄照片时生成一个单独的缩略图,然后加载它。
最终,当我看到Apple的Photo应用程序时,它立即加载""并且有10张照片。
有没有人对如何加快图像加载或至少看起来有什么建议?
谢谢!
答案 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)