2016-09-23 136 views
1

我在我的項目中使用Universal Image Loader。如果圖像是從服務器加載的,我想要執行特定的操作,如果從內存或磁盤緩存中加載,則我不做任何操作。有沒有辦法知道從UniversalLoader加載圖像的位置?

到目前爲止,我發現要做到這一點的唯一方法是提前ping內存和磁盤緩存以查看它們是否包含圖像。這不是很好,因爲如果它不在那裏,顯示圖像的正常流程將重複此檢查,所以我正在重複努力。

有沒有更好的方法來做到這一點?我在代碼中看到LoadedFrom變量通過不同的內部方法傳遞,但不會在公共API上返回。

回答

1

您可以使用此代碼來檢查圖像緩存與否:

public static boolean checkCacheImageUri(String uri) { 
     List<String> findCacheKeysForImageUriThumbnail = MemoryCacheUtils.findCacheKeysForImageUri(
       uri, ImageLoader.getInstance().getMemoryCache()); 
     if (findCacheKeysForImageUriThumbnail != null 
       && !findCacheKeysForImageUriThumbnail.isEmpty()) { 
      return true; 
     } 
     return false; 
    } 
+0

如果圖像緩存在內存中,但如果它在磁盤緩存也不會告訴我,只會告訴:( – StackOverflower

相關問題