2016-01-22 29 views
7

Şu an bir süredir çalışıyorum ve bunun için SO sorusu sorma zamanı geldi.glide force yük önbelleğe alınmış görüntü, hangi çözünürlüğü umursamıyor

Find and load cached Image in Glide buna benziyor, ancak Glide'nin sayfasındaki linkleri ve tartışmaları takip etmek benim için işe yaramıyor.

Etkinlik A'da, görüntüyü ImageView numaralı telefondan bir URL aracılığıyla yükleyin.

Bundan sonra, aygıtla çevrimdışı duruma geçiyorum. Ardından, aynı URL'yi başka boyutlara sahip farklı bir ImageView'a yüklediğim Etkinlik B'yi açın. Yalnızca, genişlik ve yükseklik, Activity A'daki ImageView öğesine eşitse veya ilk ImageView'un genişliği ve yüksekliğiyle bir override() sağladığında çalışır. Ama Etkinlik B bunu bilmiyor.

ben Etkinlik A'da bunu:

Glide.with(context) 
    .load(url) 
    .diskCacheStrategy(DiskCacheStrategy.ALL) 
    .placeholder(R.drawable.placeholder) 
    .crossFade() 
    .into(image); 

ve faaliyet BI içinde

yapın: Ben de orijinal saklayacaktır Disk strateji, bunun öyle düşündüm çünkü
Glide.with(mContext) 
    .load(url) 
    .override(Target.SIZE_ORIGINAL, Target.SIZE_ORIGINAL) 
    .into(imageView); 

Ben, yukarıda çalıştı Bunu bir tane yükleyecektir. Sonuç, hiçbir resmin yüklenmemiş olmasıdır.

Picasso'ya geri dönmeyi düşünüyorum çünkü bunun mümkün olduğunu düşünüyorum, ama Stackoverflow'a bir kez daha deniyorum.

Hemen mümkün olsaydı bir lütuf atmak istiyorum

...

cevap

9

Eğer Etkinlik B için aşağıdaki kodu deneyebilir miyim?

Glide.with(mContext) 
    .load(url) 
    .diskCacheStrategy(DiskCacheStrategy.SOURCE) 
    .into(imageView); 
+1

WTH, bu işe yarıyor! Ama neden? Önbellek stratejisi sadece indirmeye/hangi görüntü çözünürlüğünün kaydedildiğine, hangisinin yüklü olduğuna değil. Açıklayabilir misin? – Boy

+0

DiskCacheStrategy.SOURCE, orijinal verileri önbelleğe kaydeder. – ap6491

+0

Bunu indirirken bunu yapacağını anlıyorum. Ancak bu kodu çalıştırırken internet bağlantım yok, bu nedenle önbellekleme geçerli değil: İndirilecek hiçbir şey yok. Ya da sadece orijinalini kaydetmeyi deniyor, bu da internet eksikliği nedeniyle işe yaramıyor ve daha sonra orijinal (halihazırda saklanan) ImageView'ın genişliğine ve yüksekliğine yeniden boyutlandırılıyor mu? – Boy

İlgili konular