与服务器通信的iOS应用程序的体系结构

与服务器通信的iOS应用程序的体系结构,ios,swift,mobile,Ios,Swift,Mobile,我有一个一般的架构问题。Skype或Viber等应用程序从何处提供用户图像 例如,如果我是在应用程序中注册的用户,并且我设置了我的配置文件映像,那么该映像将上载到服务器 当我打开联系人列表(从服务器获取)时,图像是如何提供的?它们是一直从某个url提供服务,还是下载并缓存在移动设备上 你认为哪种方法更好。也许还有第三种方法我不知道 感谢您的澄清。通常的做法是至少在应用程序在内存中时缓存此类内容。是否在两次运行之间保留它取决于再次获取的成本和需要它的概率。希望我理解您的问题。我的看法是: 您可以使

我有一个一般的架构问题。Skype或Viber等应用程序从何处提供用户图像

例如,如果我是在应用程序中注册的用户,并且我设置了我的配置文件映像,那么该映像将上载到服务器

当我打开联系人列表(从服务器获取)时,图像是如何提供的?它们是一直从某个url提供服务,还是下载并缓存在移动设备上

你认为哪种方法更好。也许还有第三种方法我不知道


感谢您的澄清。

通常的做法是至少在应用程序在内存中时缓存此类内容。是否在两次运行之间保留它取决于再次获取的成本和需要它的概率。

希望我理解您的问题。我的看法是:

  • 您可以使用一些第三方服务,通过用户的电子邮件或其他信息获取用户的图片;例如:

  • 这与第1条类似:你正在将你的用户与他的个人资料链接在某个社交网络上,例如Facebook。然后你可以访问他的头像和联系人列表,其中包括他的朋友的头像

  • 您正在上传并保存用户的图片


  • 所有的应用程序都以这些方式运行。在任何情况下,移动应用程序都会将图片存储在他的缓存或文件系统中,这有助于你的应用程序避免每次下载新的图片副本。通常,它是缓存:如果不做任何更改,他们将不会下载资源。Http协议有专门的标题('modified-since'AFAIK)。

    为什么要进行向下投票?我想我清楚地解释了我正在考虑如何解决的问题。我没有投你反对票,但我确实认为这是一个有点宽泛的问题。如果你能更具体地回答你,那会帮助别人回答你,这样对每个人都有帮助。不,你没有用一种好的方式解释任何“问题”。但是你可能想研究一下缓存,比如,我想了解一下Skype联系人列表中的图像是如何提供的。这也许不是一个很具体的问题,但这只是因为我不知道该问什么更具体的问题。很多有个人资料图片的应用程序都会缓存这些图片。是个不错的选择。好的,谢谢。我在问题中又问了一件事。在应用程序中,图像是否一直下载到设备或从某个url提供?那么,我是缓存图像url还是下载图像然后从手机上使用?谢谢它总是从某些资源下载,然后设备的操作系统将其放入缓存中,当您想再次打开此url时,您将立即从缓存中获取图像。通常你不知道如何实现所有这些网络&缓存;在应用程序代码中,您所要做的就是选择系统是否使用缓存。“下载”和“从url提供”是相同操作的两部分。要呈现远程映像,必须提供并下载该映像。主要的设计问题是在本地保留多长时间(以避免后续服务和下载)。