2017-03-06 30 views
0

我在我的亞馬遜服務器中存儲我的圖像和縮小圖像(blured),並將兩個路徑存儲在數據庫中。如何檢查圖像已被緩存在Android移動使用Glide

現在我想知道如何先顯示模糊圖像,如果原始圖像沒有緩存,並點擊下載它將下載原始圖像。我使用的滑翔這裏...

我想這

Glide.with(this) 
      .load(mainUrl) 
      .diskCacheStrategy(DiskCacheStrategy.SOURCE) 
      .thumbnail(Glide.with(this) 
       .load(url)            
       .diskCacheStrategy(DiskCacheStrategy.SOURCE)) 
      .centerCrop() 
      .into(imageView); 

,但問題是,它atomatically下載原始圖像中的背景。

+0

您實際上需要將模糊圖像設置爲佔位符。 Glide Builder類爲您提供了一個佔位符方法。 – Avi

+0

@Marcin如何檢查前顯示圖像已被緩存或不存在 –

+0

不知道你需要做什麼。看到這個線程︰https://github.com/bumptech/glide/issues/509 –

回答

1
Glide.with(TheActivity.this) 
    .load("http://sampleurl.com/sample.gif") 
    .diskCacheStrategy(DiskCacheStrategy.SOURCE) 
    .into(theImageView); 

您的代碼將防止滑翔從下載GIF和將只顯示GIF如果已經緩存,它聽起來就像你不想要的。

  • 是的,舊的圖像最終會被刪除。默認情況下,Glide使用LRU緩存,所以當緩存滿時,最近最少使用的圖像將被刪除。如果需要,您可以輕鬆地自定義緩存的大小以幫助完成此操作。有關如何更改高速緩存大小,請參閱配置wiki頁面。
  • 不幸的是,沒有辦法直接影響緩存的內容。您不能顯式刪除某個項目,也不能強制保留項目。在實踐中使用適當的磁盤緩存大小,您通常不需要擔心做任何一方。如果你足夠頻繁地展示你的圖片,它不會被驅逐。如果您嘗試緩存其他項目並且緩存空間不足,則較舊的項目會自動清除以騰出空間。
1

如果你想顯示圖像佔位符之前加載,然後用下面的代碼: -

Glide.with(this) 
      .load(mainUrl) 
      .diskCacheStrategy(DiskCacheStrategy.SOURCE) 
      .placeholder("provide placeholder image here") 
      .thumbnail(Glide.with(this) 
       .load(url)            
       .diskCacheStrategy(DiskCacheStrategy.SOURCE)) 
      .centerCrop() 
      .into(imageView); 
+0

我不想使用佔位符。我的數據庫表中有兩個圖像(第一個是原始圖像,第二個是原始圖像(模糊圖像)的縮小尺寸)。第一次我想用下載的圖標顯示模糊的圖像,點擊圖標後會下載原始圖像並顯示。 –

+0

我想知道如何檢查原始圖像是否已被緩存。 –

+0

請在這裏找到解決方案(https://github.com/bumptech/glide/issues/712)希望它可以幫助 – 2017-03-06 11:42:30

相關問題