通过网络下载图像在iPhone上很慢

时间:2009-08-28 04:11:57

标签: iphone objective-c cocoa-touch iphone-sdk-3.0

我正在UITableView上显示通过网络连接下载的一些图像。加载这些图像非常慢。我可以使用任何性能技巧吗?

2 个答案:

答案 0 :(得分:1)

如果要显示来自网络的图像,则应缓存它们以获得任何合理的性能。考虑内置的App Store应用程序:它只为屏幕上的表格单元格加载图像,但在加载图像后,应用程序会存储该图像以供日后使用。

此外,在iPhone上解析XML会很慢 - 特别是嵌入了二进制数据。您应该通过HTTP将图像作为PNG / JPEG提供给您的应用,以获得最佳效果。

答案 1 :(得分:0)

哪个部分很慢 - 网络还是绘图?

如果它是网络,除非您控制数据源(例如,可能是托管这些图像的Web服务器),否则您无能为力,除非您能以某种方式切换服务器(例如,从小型网站切换到使用亚马逊的云技术)。

如果是图纸,您可以使用Core Graphics绘制视图,如果您只是使用UIImage / UIImageViews,并且您确定这是瓶颈,因为它更多一点工作。您也应该(至少)缓存您正在下载的数据。

编辑:你有没有想过你的代码来看看什么是慢的?这始终是优化任何事物的第一步;衡量,然后优化。如果您正在解析XML,那很可能是瓶颈,但在您分析之前无法判断。正如您所看到的,很难告诉别人如何在不知道问题首先的情况下加快性能。