在后台预加载图像

时间:2013-01-26 18:39:45

标签: iphone ios uiscrollview uiimage grand-central-dispatch

我正在使用文档查看器开发iOS应用程序。每个文档都有许多页面作为图像处理。

观众使用UIScrollViewUIImageView来显示当前页面。

为了提高应用程序的响应能力,我在后台预加载下一页和前一页。我正在使用GCD执行此操作,但如果用户在下一个图像加载之前更改页面(fe:转到下一个),则无法取消后台加载。目前我正在重新加载页面,然后预加载下一个图像。

我认为GCD不是正确的方法。实现目标的最佳做法是什么?

1 个答案:

答案 0 :(得分:0)

有一种更好的方法可以做到这一点。使用CATiledLayer作为UIImageView子类的后备层类,通过继承类方法+(Class)layerClass; 。 CATiledLayer自动从主线程异步绘制。有关详细信息,请参阅CATiledLayer文档:

https://developer.apple.com/library/mac/#documentation/GraphicsImaging/Reference/CATiledLayer_class/Introduction/Introduction.html