首页 > 解决方案 > SDWebImage(SwiftUI) imageThumbnailPixelSize 和缓存行为

问题描述

我有一个过程需要我手动下载图像(使用SDWebImageManager,通过分析运行它(例如识别面部),然后在我WebImage用来显示相同​​图像的 SwitUI 视图中。图像可能相当大,因此我只想处理/显示缩略图。理想情况下,我只想打一次网络,我也只想做一次缩略图缩放操作:

  1. 点击网络,加载全尺寸图像(可能是不可避免的)
  2. 使用.imageThumbnailPixelSize缩小图像的比例——我现在要显示后面的宽度,所以我使用的是宽度 x 宽度 x deviceScalingFactor 的矩形。(比如说 100x3 x 100x3。)
  3. 我假设——问题!--/only/ 缩略图存储在配置的缓存中,但它的大小与我指定的大小不同,因为它保持纵横比(比如 100x3 x 50x3)。
  4. WebImage我使用相同.imageThumbnailPixelSize并假设 -问题!- 缓存将返回完全相同的缩略图/没有/首先获取全尺寸图像并再次重新缩放。
  5. 如果我稍后可能会在另一个WebImage视图中加载图像,可能会使用不同的视图,.imageThumbnailPixelSize我认为它会再次访问网络——我已经尝试过,但似乎——问题——它没有访问网络,但也获得了更大的规模来自缓存的图像(可能在初始下载期间也缓存了全尺寸图像?)。

我不清楚的另一件事是,如果我设置.imageThumnailPixelSize. 说,我确实想在显示之前裁剪图像WebImage。是在全尺寸图像上还是在缩略图图像上进行裁剪?

感谢您的澄清。

标签: swiftuisdwebimage

解决方案


推荐阅读