我对最佳表现方法有疑问......
基本上我有一个UITableView,单元格内有单元格和4个图像。 (类似的Photo Application缩略图预览);看到24张图片......
单元格中的图像是从URL地址异步加载的,下载时它们会保存在iPhone的Documents目录中。
我希望在滚动缩略图时具有与PHOTO应用程序相同的性能,但是我的桌面移动会有轻微的波动......
您建议使用已加载的图像从磁盘呈现并保持表格滚动流畅的最佳方法...
您的想法:
制作将从磁盘加载拇指的NSOperation(4个并发操作);每张图片1次操作......
使NSOperation加载4,8,16?图像到循环中的内存;
其他更好的方法?
由于
答案 0 :(得分:1)
在你投入太多时间之前,你应该看看Three20 iPhone框架。它提供了一个视图控制器,可以非常接近地复制Photo的图像选择器:
如果您决定不使用Three20,则至少应确保您的解决方案异步加载和卸载图像;这样,无论磁盘读取多长时间,您的表接口都不会断断续续。如果您使用UIImageViews并使用+[UIImage imageWithContentsOfFile:]
来获取UIImages,那么UIKit将为您处理其余的事情。
为了此视图的目的,您还应考虑将全尺寸图像与单独的缩略图一起存储。这将节省您的阅读时间和内存,而这正是Photo应用程序的功能。
如果您执行上述一项或多项操作,我怀疑磁盘读取是否会成为您的瓶颈!