在iOS上的后台加载800万张照片

时间:2013-02-17 14:49:47

标签: ios objective-c

我正在自定义类似于iOS中的照片应用的图库。我希望能够在自定义图库中的各张照片之间滚动。我也在预加载很快就会显示的图像(如果我向右滚动,我预加载,即右边的2个下一个图像)

然而,图像加载似乎是CPU消耗的,它干扰滚动。使滚动挂起一秒钟。

有没有更好的方法呢? (我考虑过保留与屏幕分辨率相匹配的每个图像的较小版本)

基本上我在后台线程中调用它:

UIImage *img = [UIImage imageWithContentsOfFile:path];

然后我在主线程上执行一个选择器,它只是用加载的图像初始化现有的ImageView。

1 个答案:

答案 0 :(得分:1)

我在某种程度上弄明白了。

我需要在后台线程的屏幕外渲染图像,以确保它已加载。否则在我决定在主线程中呈现它之前它实际上不会加载。这导致主线程在加载时被阻塞。