【问题标题】:Cache images to disk directly using retriveImage()?使用 retriveImage() 直接将图像缓存到磁盘?
【发布时间】:2017-04-22 20:33:58
【问题描述】:

我正在使用Kingfisher通过以下方式下载图片:

 KingfisherManager.shared.retrieveImage(with: url!, options: nil, progressBlock: nil, completionHandler: { (image, error, cacheType, imageURL) -> () in
            if let image = image {

我想知道是否可以将它们直接缓存在磁盘上?由于我要检索很多图像,因此有时记忆会有些困难。

【问题讨论】:

    标签: ios swift kingfisher


    【解决方案1】:

    在 Kingfisher 的doc 上已经有一个可用的方法。它将从 url 设置图像,同时它将处理缓存。

    let url = URL(string: "url_of_your_image")
    imageView.kf.setImage(with: url)
    

    More info on CocoaDocs

    【讨论】:

    • 他们这样做很好,因为我没有将图像分配给 imageView,而是将它们用作 Google 地图上的叠加层。我只需要知道我是否可以将它们存储在磁盘上,而不是默认情况下存储在内存中。
    【解决方案2】:

    ImageCachedocumentation 声明您可以通过 maxMemoryCost 属性配置 Kingfisher 将使用的内存量。它说默认是无限的,显然用 0 表示。

    我没有尝试过,但您可以尝试将其设置为一个非常小的数字(因为它指的是像素总数,所以像 10 这样的数字将确保内存中基本上没有图像)并看看会发生什么.

    【讨论】:

      猜你喜欢
      • 2013-02-10
      • 2016-09-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-08
      • 1970-01-01
      • 2011-08-25
      • 2019-10-15
      相关资源
      最近更新 更多