我正在使用文档查看器开发iOS应用程序。每个文档都有许多页面作为图像处理。
观众使用UIScrollView
和UIImageView
来显示当前页面。
为了提高应用程序的响应能力,我在后台预加载下一页和前一页。我正在使用GCD执行此操作,但如果用户在下一个图像加载之前更改页面(fe:转到下一个),则无法取消后台加载。目前我正在重新加载页面,然后预加载下一个图像。
我认为GCD不是正确的方法。实现目标的最佳做法是什么?
答案 0 :(得分:0)
有一种更好的方法可以做到这一点。使用CATiledLayer作为UIImageView子类的后备层类,通过继承类方法+(Class)layerClass; 。 CATiledLayer自动从主线程异步绘制。有关详细信息,请参阅CATiledLayer文档: