2017-02-24 5 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からあなたのURLを渡すだけで自動的にキャッシュされます。

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

Firebaseはすでにそれがサーバからリアルタイムデータをフェッチする前に、ローカルデータベースをキャッシュしないので、問題はとして深刻ではありません。しかし、より良いキャッシングを行うには、Glideを使用してください.Glideはイメージをキャッシュし、拍子記号を指定して、更新された場合にのみイメージを再フェッチします。

は、これは超簡単ですが、あなたは、Googleのクラウドサービス、または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

関連する問題