2015-10-05 7 views
2

Я использую Picasso в приложении для Android Загрузка изображения с веб-url, но я вижу, что изображение не обновляется, когда я обновлял изображение в Интернете.Picasso не загружает обновленное изображение из Интернета в android

Picasso.with(context).load("http://testServer.com/Images/sponsor.png").into(imageView1); 

Заранее благодарен.

+1

потому что Picasso имеет встроенные катя, так что кажется, его чтение из обналичивания. попробуйте добавить Picasso.with (getActivity()). invalidate (файл); и скажите мне, что случилось – Moudiz

ответ

5

В Picasso используется механизм кэширования, поэтому одно и то же изображение не повторно загружается дважды.

Если вам нужно обойти этот кеш, вы можете изменить политику memory или network, чтобы сделать это.

+1

Picasso.with (это) \t \t \t \t .load (URL) \t \t \t \t .memoryPolicy (MemoryPolicy.NO_CACHE) \t \t \t \t .networkPolicy (NetworkPolicy.NO_CACHE) \t \t \t \t .into (imageView); – Ashok

+0

Отключение кэша работает нормально, но требуется больше времени для загрузки. Я использую png-изображения, если я использую JPG, есть ли какое-то преимущество!? в более быстрой загрузке? – Ashok

+0

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

2

Picasso имеет встроенное кэширование, поэтому изображение кэшируется автоматически. попробуйте сделать недействительным. пример:

Picasso.with(getActivity()).invalidate(file); 
+0

Пробовал это не работает – Ashok

+0

@Ashok: попробуйте с помощью: Picasso.with (getActivity()). invalidate ("file:" + imageFile.getAbsolutePath()); Это сработало для меня. –

0
public void loadImage(ImageView imageView, String image_url,Contextcontext) 
{ 
try 
    { 
    Picasso.with(context) 
    .load(image_url) 
    .memoryPolicy(MemoryPolicy.NO_CACHE) 
    .networkPolicy(NetworkPolicy.NO_CACHE) 
    .placeholder(R.drawable.default_image) 
    .into(imageView); 
    } 

    catch(Exception ex) 
    { 
    ex.toString(); 
    } 

} 
+0

Не могли бы вы добавить небольшое объяснение для своего кода? –

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