在我的iOS应用中,我需要获取一个imageURL字符串并将其转换为UIImage。
我编写了以下函数来处理此问题:
func getImage(urlString: String) -> UIImage {
let url = URL(string: urlString)!
do {
let data = try Data(contentsOf: url)
let image = UIImage(data: data)!
return image
} catch {
print(error, " This was the error in p2")
}
return UIImage(named: "media")!
}
问题是这花费了太长时间。我相信这是完成此任务所需的时间。
我需要缩短时间。
问题:是否有更快的方法基于Firebase的imageURL获取UIImage? (也许是可可豆荚?还是写代码的更好方法?)
其他问题:
答案 0 :(得分:0)
许多进行大量图像下载的著名iOS应用程序(以及网络,移动和通用)都利用了渐进式jpeg。这样,您的用户在加载图像时将至少看到一些东西,随着时间的推移,图像将逐渐变得更好。正如许多评论者所提到的那样,如果您拥有自己的后端服务器来交付可以优化性能的图片,那么您将不受Firebase的控制。因此,您可以做的最好的事情之一就是在应用中实现渐进式jpeg。
第一个链接是一个库,它将使您可以在iOS应用中使用渐进式jpeg。第二个链接是FaceBook上用于更快加载图像的详细方法。
https://www.airpair.com/ios/posts/loading-images-ios-faster-with-progressive-jpegs