从服务器下载iPhone上的图像时出现性能问题

时间:2011-01-24 11:11:12

标签: iphone data-transfer graphics performance

我们在iPhone上有一个应用程序。此应用程序每页/屏幕显示25个产品。所有25种产品的产品名称,价格,折扣,产品图片的URL等文本项目首先从服务器下载。

之后,我们发出25个同步请求,一个接一个地下载25个产品图像。每张图片的大小约为25KB,大小约为300×400像素,我们只需要72 x 72像素大小的图像,以便在iPhone上显示。我们注意到显示一个屏幕/页面大约需要40秒,而这种性能并不好。所以我们正在研究如何提高性能。

  1. 如果我们将服务器上图像的大小缩小到72 pxiels,性能是否会提高。
  2. 还可以将所有25张图像从服务器下载到iPhone吗?如果是这样,请分享您的方法,如何做到这一点?我们希望只有在能够提高性能的情况下才能这样做。

1 个答案:

答案 0 :(得分:2)

我建议你在Stackoverflow上问这个问题。

从程序员的角度来看,如果你只需要72x72的图像,你一定要带上它。您将节省带宽,电池和处理能力。

然后25个同步请求似乎是一个坏主意,为什么不同时带一整页(或两页)?

URL请求本质上是“慢”的,因此制作的越少,它的工作速度就越快。

我修改服务器以允许批量提取,如“给我前25个”,然后在本地处理它们。然后,您可以异步(并抢先)获取下一个25,以便当用户按下您已经拥有它时(并且始终提前1或2)。

使用缓存,如果可以,请在本地保存,并始终检查该页面是否在本地可用,因此如果用户按下然后再次按下,则不必重新获取记录。下载的内容仍然下载:)产品页面不应该经常更改。

对于更具体的实现,我建议你跳转到StackOverflow。