2016-09-23 5 views
1

Я использую Universal Image Loader в своем проекте. Я хочу выполнить определенное действие, если изображение было загружено с сервера и ничего не загружено из памяти или кэш-диска.Есть ли способ узнать, откуда было загружено изображение с UniversalLoader?

До сих пор единственным способом, который я нашел для этого, является проверка памяти и дискового кэша заранее, чтобы увидеть, содержат ли они изображение. Это не очень приятно, так как в случае, если его нет, нормальный поток для отображения изображения повторит эти проверки, поэтому я дублирую усилия.

Есть ли лучший способ сделать это? Я видел в коде переменную 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

 Смежные вопросы

  • Нет связанных вопросов^_^