如何将图像从Firebase下载到Swift,然后更快地在UIImageView中显示?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将图像从Firebase下载到Swift,然后更快地在UIImageView中显示?相关的知识,希望对你有一定的参考价值。
我正在将图像从Firebase下载到Swift(大多数大约5 MB),然后在UIImageView中显示它们。每个只出现一次,因此无需缓存它们以供日后查看。大多数情况下,他们需要一两秒才能加载。有没有办法缩短这个时间?
我的代码:
Database.database().reference().child("movies").child(movieNumString).observeSingleEvent(of: .value, with: { (snapshot) in
if let dictionary = snapshot.value as? [String: AnyObject] {
let UrlString: String? = ((dictionary["posterPhotoURL"] as? String))
let Url = URL(string: (UrlString)!)
self.moviePosterImageView.sd_setImage(with: Url, placeholderImage: #imageLiteral(resourceName: "PImage"), options: [], completed: { (image, error, cacheType, url) in
self.moviePosterImageView.image = image
})
}
答案
请参阅堆栈溢出guidelines以备将来使用。
最重要的是,您应该担心图像的数据和大小,下载它们所需的时间会随着您减小尺寸而减少。尝试将尺寸减小到一些kb。
在Firebase中,您可以拥有运行服务器端的功能,例如,您可以对图像执行调整大小。有关所有函数示例,请参阅here,并使用sharp包来调整this的大小。
以上是关于如何将图像从Firebase下载到Swift,然后更快地在UIImageView中显示?的主要内容,如果未能解决你的问题,请参考以下文章
如何从 Firebase 存储中获取调整大小的图片下载 URL
如何将多个图像上传到 Firebase 存储并返回多个下载 URL