加载图像时在iOS中使用Kingfisher库进行图像优化?

时间:2018-02-09 04:33:38

标签: ios swift image kingfisher

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

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

所以我的问题是

  • 翠鸟图书馆会下载较小尺寸的图片吗?

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

我有什么方法可以专门完成上述任务。

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

1 个答案:

答案 0 :(得分:3)

  

Kingfisher图书馆会下载更小尺寸的版本   图像?

Nor Kingfisher或任何其他图书馆都不会下载较小版本的图片。服务器必须向您发送一个较小的版本。 (不同的网址,或带参数的相同网址)

  

如果图像尺寸太大,是否会中止图像加载?

我不知道图书馆如何实现下载,但除非你在谈论不合理的大文件(比预期的分辨率大(1920x1200)),它不会被中止。即便如此,它可能不会被中止,而是显示超高分辨率图像时系统会杀死应用程序(同样,大于1920 x 1200)

  

我有什么方法可以专门完成上述任务。

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

你可以使用Kingfisher

1)首先下载图片

2)然后调整图像大小

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

选中此页面可查看该库的大量代码段。

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