2017-02-24 62 views
1

我有多個單元格當前擁有來自Firebase的不同照片。每次用戶加載這些圖像然後滾動,它們都會被重新下載,從而快速消耗數據。我發現這與任何有計量數據計劃的用戶有關。我能做些什麼來解決這個問題? Firebase是否提供任何選項來緩存下載的圖片?來自Firebase的緩存圖片

這是我當前如何調用圖像插入細胞:

if let imageName = post["image"] as? String { 
     let imageRef = FIRStorage.storage().reference().child("images/\(imageName)") 
     imageRef.data(withMaxSize: 25 * 1024 * 1024, completion: { (data, error) -> Void in if error == nil { 
      let image = UIImage(data: data!) 
      cell.postImageView.image = image 

回答

2

使用Kingfisher緩存圖像。它重量輕,使用非常簡單。只需從firebase傳遞您的網址,它就會自動緩存它。

let url = URL(string: "url_of_your_image") 
imageView.kf.setImage(with: url) 
0

火力地堡已經做緩存到本地數據庫,它從服務器獲取實時數據之前,這樣的問題並不嚴重。但是,如果您希望執行更好的緩存,請使用Glide,滑動緩存圖像,並且您可以指定時間簽名,以便僅在更新後才重新提取圖像。

這是超級容易,但你需要託管圖片在谷歌雲服務,或AWS,或任何甚至

ImageView imageView = (ImageView) findViewById(R.id.my_image_view); 
Glide.with(this).load("url").into(imageView); 
+1

編輯:滑翔僅適用於Android – gabe

+0

哎呀,沒注意到你在iOS – IsuruKusumal

+0

haha​​hahahahahah – VVL