在服务器端,我想下载许多文本和图像。 问题是我不想单独获取这些东西,我想将它们打包成一个文件,以便更容易利用暂停和恢复功能。 我应该在服务器端压缩它们并在移动端解压缩文件吗? 是否有任何API可用于在移动端解压缩?
我不确定我的想法是否正确。这是做这类事情的常用方法吗?谢谢。
答案 0 :(得分:0)
关于图像,我们经常单独下载它们,只是在下载内容时更新UI,而不是强迫用户等待下载所有内容。或者懒惰下载很不错(例如由UIImageView
类别提供,例如SDWebImage的UIImageView+WebCache
),可以在需要时有效下载图片,这样用户就可以使用该应用无需等待下载的所有内容。
关于文本,除非它们很大,否则可以一起下载。但是,我认为发布人员倾向于使用一些JSON格式的响应,而不是压缩一堆文本文件,这些响应会以一些漂亮,易于使用的格式返回文本文件。但是,有一点(比如,组合的JSON超过100k),将文本文件组合在一起会产生收益递减的点,在这种情况下,您可能希望追求个人下载。
在提供有意义的建议之前,我们需要更多关于应用程序的功能和数据细分(单个文本文件有多大,有多少等)的背景知识。但是,除非在下载所有内容之前根本无法让应用程序完全运行,否则我会倾向于单独下载图像,并为文本添加一些不错的JSON格式单一文本。
让我们假设你有一系列产品的文字描述,一个与每个产品相关的图像。然后你可能有一个看起来像这样的JSON:
[
{
"id": 1,
"description": "This product is ...",
"image_url": "http://www.yourserver.com/images/img001.png"
},
{
"id": 2,
"description": "This different product is ...",
"image_url": "http://www.yourserver.com/images/img002.png"
},
{
"id": 3,
"description": "This third product is ...",
"image_url": "http://www.yourserver.com/images/img003.png"
},
{
"id": 4,
"description": "This last product is ...",
"image_url": "http://www.yourserver.com/images/img004.png"
}
]
您的应用可能会下载该JSON(在这种情况下,它将包含所有文本字符串和一堆图像URL),然后在UI中显示它,以及它需要显示图像的位置,使用{{ 1}} UIImageView
类别更新SDWebImage
的{{1}},如此:
image