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

标签 ios swift image kingfisher

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

当我诊断 View Controller 内存时,我注意到它随着图像的加载而增加。

所以我的问题是

  • Kingfisher 库会下载较小尺寸版本的图像吗?

  • 如果图片太大,是否会中止图片加载?

有什么方法可以具体实现上述任务。

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

最佳答案

Will the Kingfisher library download a smaller size version of the image?

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

Will it abort the image loading if the image size is too big?

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

Is there any way by which can I specifically achieve the above task.

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

您可以使用 Kingfisher 来

1)先下载图片

2) 然后调整图片大小

3) 然后根据需要显示和缓存它

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

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

关于ios - 加载图像时使用 iOS 中的 Kingfisher 库进行图像优化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48698778/

相关文章:

ios - 从创建的目录播放音频

swift - 在 swift 和 objectiveC 混合项目中使用砌体

css - 图像映射是最好的解决方案吗?

.net - 在图像上绘制的 LinkLabel 文本

ios - 上传图片到 Firebase

ios - 以编程方式更改 UITableView 的框架

swift 2 : Catching errors in a closure

jquery - 如何使用 jQuery 多次更改图像的 alt 属性?

android - 是否可以在 iOS 或 Android 手机的移动 Webkit 上接收 JavaScript 中的倾斜事件?

ios - 如何规范化 iOS 中的视差数据?