1

我正在自定义一个类似于 iOS 中的照片应用程序的画廊。我希望能够在我的自定义画廊中的单张照片之间滚动。我还在预加载可能很快会显示的图像(如果我向右滚动,我会预加载,即右侧的 2 个下一个图像)

但是,图像加载似乎非常消耗 CPU,以至于干扰了滚动。使滚动暂停一秒钟。

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

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

UIImage *img = [UIImage imageWithContentsOfFile:path];

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

4

1 回答 1

1

我以某种方式想通了。

我需要在后台线程上将图像渲染到屏幕外,以确保它已加载。否则它不会真正加载,直到我决定在主线程中渲染它。这导致主线程在加载时阻塞。

于 2013-02-17T19:15:50.267 回答