在大型tableview中缓存图像而不会降低性能

时间:2011-12-13 16:39:49

标签: iphone objective-c xcode caching uiimageview

我目前制作的应用程序包含一个包含1000个单元格的tableview。每个单元格在左侧包含内容视图中的UIImageview。所有图像文件当前都存储在NSBundle中。不幸的是,该应用程序的大小要超过3g(苹果的一个版本),我需要缓存这些图像。

我目前正在下载并保存每个图像,一旦单元格在视图上(dereusable cell),但这会大大减慢滚动速度。它们是一种保持滚动速度快的方法但是一旦用户停在某个位置它会缓存这些文件吗?我尝试了NSOperationQueue,但这对我没有用。

赞赏正确方向的一些提示!

谢谢!

1 个答案:

答案 0 :(得分:0)

如果你是同样的下载和显示表视图,那么你从tableview获得的fps性能下降是正常的,因为cpu正在使用它的一些线程来下载数据...

你获得性能的唯一方法是使用核心图形直接绘制到单元格中来加速绘制tableview单元格(正如Loren Brichter用tweetie应用程序演示的那样)。