【发布时间】:2013-11-11 09:51:43
【问题描述】:
我创建了一个应用程序,用户可以在其中上传图像,并且他们还可以查看其他用户上传的所有图像。我已经集成了分页代码并一次下载 10 张图像并将它们显示在 UITableView 上。我已将 AFNetworking 用于将图像保存在缓存中的任务。问题是当用户继续下载图像并且计数达到大约 300 张图像时,应用程序会因为设备内存不足而崩溃。我正在寻找这个问题的最佳解决方案。我的想法是一次在缓存中保留 50 张图像,当用户下载新图像时,旧图像将从缓存中删除。也请让我知道我是否可以使用 AFNetworking 做到这一点。
【问题讨论】:
-
您是否将图像存储在文档目录中?将您的代码发布在泄漏的位置..
-
@Ganapathy 不,AFNetworking 将图像存储在它的缓存中,我不知道这个缓存在哪里。这是内存分配问题,而不是泄漏问题。
-
每次开始下载图像后,请清除缓存。例如,如果您要下载 2nd 50 图像,只需清除缓存并开始下载。像这样尝试一次。
-
@Ganapathy 你能告诉我如何清除缓存吗?
-
您可以改用 SDWebImage,它适用于 300 多张图片。
标签: uitableview memory-management afnetworking