2015-12-29 24 views
6

Bazı görüntüleri sunucudan indirmem gereken proje geliştiriyorum. Bu 3 yöntemi denedim.Android Volley/Picasso/Glide başka herhangi bir görüntü nasıl daha hızlı indirilebilir?

Picasso:

Picasso.with(context).load(image).into(holder.image); 

Glide:

Glide.with(context).load(image).into(holder.image); 

Volley:

imageLoader.get(image, new ImageLoader.ImageListener() { 
     @Override 
     public void onResponse(ImageLoader.ImageContainer response, boolean isImmediate) { 
      holder.image.setImageBitmap(response.getBitmap()); 
     } 

     @Override 
     public void onErrorResponse(VolleyError error) { 

     } 
    }); 

Şüphesiz, bütün bu yöntemler hızlı internet bağlantısı çok iyi çalışıyoruz. ama 2G içinde 20kb - 25kb görüntü indirmek için çok uzun zaman alır. Ayrıca, görüntü yeniden boyutlandırma ve her şeyi denedim. Ama bundan iyi sonuç almıyor. Amazon veya Flipkart veya herhangi bir e-ticaret uygulaması gibi uygulamaları gördüm, bu uygulamalar yavaş internet bağlantısında çok iyi çalışıyor ve tüm görüntüleri iyi çözünürlükte dowanloads. Bu nedenle, bu sorunla ilgili bazı uzman çözümler istiyorum.

+0

[fresco] ile deneyebilirsiniz (http://frescolib.org/) – kId

+0

Bu kütüphaneyi kullanırsanız, ilk önce görüntüyü indirmek zaman alır ve bundan sonra görüntüyü önbellekten görüntüler olarak otomatik olarak daha hızlı yükler – Rajesh

+0

http://stackoverflow.com/questions/29363321/picasso-vs-imageloader-vs-fresco-vs-glide adresini ziyaret edebilirsiniz. Fresco'yu deneyebilirsiniz. – Rajesh

cevap

2

Glide, Picasso sunucudan sadece görüntü al ve göster. Ağ hızınız daha azsa, resimlerin yüklenmesi daha uzun sürer. görüntüleri sunucu tarafında yeniden boyutlandırmanız gerekir. JPEG veya PNG yerine WebP formatının kullanılması, kaliteyi düşürmeden boyutun düşürülmesine yardımcı olacaktır.

Not: Bunu kolayca gerçekleştirmek için Thumbor'u kullanabilirsiniz.

+0

Teşekkür ederiz. Bunu deneyeceğim. Ayrıca e-ticaret projem var. Şu anda, bu projede sadece 20 tane resim var, bu yüzden tüm bunların formatını değiştirmek benim için kolay olacak. Ancak, e-ticarette ne yapması gerektiği 1 lak ürüne sahiptir. Tüm bu görüntülerin biçimini değiştiremiyorum. O halde ne yapmalı? –

+0

thumbor gibi bir şey kullanın. cevabı güncelledi –

0

Bazı resimleri tek tek tıklamanız ve sdcard'a kaydetmeniz gerekiyor. Onları Android'in DownLoadManager sınıfı bunun için mükemmel ve kolay bir çözümdür. Veya Uygulamanızda web'den bir görüntü yığını göstermek istiyorsanız, Universal Image Loader, Volley ve Picasso ile aynı şekilde faydalıdır. Görüntüyü daha hızlı indirmek için boyutlarını küçültmeniz gerekir. Sunucu sonunda Jpeg veya PNG yerine WebP formatını kullanın.

0

Önbelleğe alma gerekli değilse ve ağdan doğrudan karşıdan yükleme yapıyorsa, Picasso iyi bir seçenektir. Önbelleğe alma gerekiyorsa, görüntüler (veya büyük resimler) için AQuery'yi kullanın. AQuery'de birden fazla önbelleğe alma seçeneği vardır.