0

我有一个在表格视图中列出本地位置的 iOS 应用程序。每个单元格都有图片、文本和潜台词。每个单元格的详细视图还具有相关位置的多张图片,以及相当数量的文本。JSON 是交换格式。

目前,我正在发送位 blob 并将其构建为 jpeg,一旦加载到设备上,但我担心这在设备和服务器上都很密集。所以我正在考虑发送图片链接并异步下载每张图片,但我不知道这会产生什么影响。特别是考虑到我目前正在为后端使用廉价的 PHP/MySQL 共享托管计划。

我正在寻找通过 JSON 发送原始图像数据与该图像的链接的优缺点列表。欢迎使用任何其他选项来快速有效地使用多个网络图像填充视图。

4

2 回答 2

1

我认为区别如下:

1-用户将下载:(链接+图像>图像)更多数据流。

2- 如果图像在另一台服务器上 -> 可能比您的服务器慢或更快 -> 影响为用户提供的图像加载速度并最小化您的服务器和客户端之间传输的数据大小。

3-如果图像在另一台服务器上->你保证当你的网站启动时它会在那里吗?

4-使用ajax加载数据已经是一种异步方法,如果使用它,您不必担心另一个服务器。好吧,除非您的服务器慢得要命,否则您应该考虑为大图像使用另一台服务器,因为同步不是您主要关心的问题,因为它是您应用到服务器的负载。

如果我想到其他点,我会在这里发布..

于 2013-07-05T01:36:46.467 回答
0

我对此进行了一些研究并询问了一些同事,所以我将分享我想出的花絮。

在某些时候,必须发送原始图像数据——这是不可避免的。但是我可以从延迟加载图像数据中受益——因此,如果我的用户只查看 14 个表格视图单元格,我只花时间加载 14 个图像,而不是从服务器返回许多总结果(如果我实施适当的缓存,则更少)。

到目前为止,我的解决方案是返回 30 个(我一次加载的 tableview 单元格的数量)JSON 对象,每个对象都有一个"Image_URL":"..."字段并将它们放入字典中。然后,在 中cellForRowAtIndexPath:,我检查该单元格的图像是否已被缓存,如果没有,我对该图片发出请求并cell.image在网络回调中更新。

这很容易自己完成,但SDWebImage似乎是一个非常好的库,用于处理极端情况、缓存和其他基本实现中未涵盖的事情。我应该注意到AFNetworking还包括异步图像下载功能。

于 2013-07-14T21:52:08.750 回答