1

我在我的应用程序中所做的是当用户上传个人资料图片时,我将图像数据写入文档文件夹,换句话说,我存储图像。当用户删除个人资料图片时,该文件将被删除。所以这是基本的。

但是当用户注销时我也会删除此文件,因为如果我不这样做,那么如果他注销并使用不同的用户名登录,则会出现相同的个人资料图片。所以我要做的是,我在登录时,在一个全局线程中下载用户的个人资料图片(图片 URL 在登录 API 中给出,因为我在上传时发送此图片)。但这不是最好的解决方案,因为每次用户登录时,下载图像都需要时间。

什么是最好的解决方案?

4

2 回答 2

1

如果没有特定要求将图片存储在文档目录中,您可以尝试SDWebImageAFNetworking UIImage提供图片缓存的库,这样如果一次下载图片,则不会每次都下载相同的图片,否则您可以NSCache直接使用舒服

另一种解决方案是,如果您必须存储用户个人资料图像,您可以将它们存储在单个文件夹/URL 可能基于 userId 或一些独特的详细信息,因此首先检查特定图像是否存在,否则下载图像例如:如果 userId 是123 然后你将图像存储为'imagename-123'或创建一个文件夹名称123并将图像存储在其中
注意:如果您的图像太大或登录的用户太多,在这种情况下,您的文档目录可能会占用很多空间所以你可以设置一些机制来删除相同的旧配置文件

于 2016-04-10T09:12:15.533 回答
1

您应该在登录时存储图像的 URL 并比较 URL。如果两个 URL 相同,则不要下载图片并显示存储的一个。如果两个 URL 不相同,则下载图片并存储它,它是 URL。您可以保存任何其他唯一标志,而不是每个用户唯一的 URL(例如:用户 ID)。

于 2016-04-08T12:50:17.470 回答