1

我正在从服务器的列表中加载图像。UIImageView 尺寸非常小(40 x 40),因此理想情况下应在其中加载尺寸为 40 x 40 或稍大一点的图像。但是,服务器人员正在发送更大尺寸(1920 x 1200)的图像。

当我诊断视图控制器内存时,我注意到它随着图像加载而增加。

所以我的问题是

  • Kingfisher 库会下载更小尺寸的图像吗?

  • 如果图像尺寸太大,它会中止图像加载吗?

有什么方法可以让我具体完成上述任务。

翠鸟:https ://github.com/onevcat/Kingfisher

4

1 回答 1

3

Kingfisher 库会下载更小尺寸的图像吗?

Kingfisher 或任何其他库都不会下载较小版本的图像。服务器必须向您发送一个较小的版本。(不同的url,或带有参数的相同url)

如果图像尺寸太大,它会中止图像加载吗?

我不知道该库是如何实现下载的,但除非您谈论的是不合理的大文件(比您期望的分辨率(1920x1200)大得多),否则它不会被中止。即使那样,它也可能不会被中止,而是在显示超高分辨率图像(再次,远大于 1920 x 1200)时,应用程序可能会被系统杀死

有什么方法可以让我具体完成上述任务。

如果您想一次显示许多图像并且担心它们的大小,最好创建它们的缩略图。

您可以使用翠鸟

1)首先下载图片

2)然后调整图像大小

3)然后在需要时显示并缓存它

检查此页面以查看该库的大量代码片段。

https://github.com/onevcat/Kingfisher/wiki/Cheat-Sheet

于 2018-02-09T05:01:56.747 回答