AlamofireImage缓存?

时间:2016-04-18 14:05:03

标签: ios swift alamofire alamofireimage

我将AlamofireImagePromiseKitAlamofire结合使用。我使用promises链接x个图像的下载,因为我想同步这样做。我似乎无法理解ImageDownloader()是否自动缓存,或者我是否必须将图像显式添加到缓存中?到目前为止我见过的唯一例子都没有使用ImageDownloader,所以我很难找到答案。

如果不是 - 如何将其添加到缓存中?我尝试过使用:

self.imageDownloader.imageCache?.addImage(image, withIdentifier: imageUrl)

但它所做的只是增加我的内存使用量(即将相同的图像一遍又一遍地添加到缓存中)

2 个答案:

答案 0 :(得分:0)

我认为定义一个AutoPurgingImageCache()然后在缓存过程中使用它需要解决你的内存使用问题。

let photoCache = AutoPurgingImageCache(
    memoryCapacity: 100 * 1024 * 1024,
    preferredMemoryUsageAfterPurge: 60 * 1024 * 1024
)

您可以更改 memoryCapacity preferredMemoryUsageAfterPurge 代表MB。要在缓存中添加任何图像,您可以这样使用:

photoCache.addImage(scaledImage, withIdentifier: urlString)

另外,您可以查看this topic了解详情和AlamofireImage GitHub页面。

答案 1 :(得分:0)

我也使用了与此处相同的方法。但是根据API参考,应将图片自动添加到缓存:

O(log n)

https://alamofire.github.io/AlamofireImage/Classes/ImageDownloader.html