2016-03-21 6 views
2

Ich benutze Glide-Bibliothek für die Anzeige von Bildern.Ich setze diskCacheStrategy (DiskCacheStrategy.Source), damit die Bilder nicht löschen.Wenn ich Profilbild aktualisieren, wird das Bild nicht aktualisiert, bis ich die Instanz der App löschen (Ich gleite Glide. clearDiskCache und Glide.clearMemory()). So, wie das Bild zu zwingen, zu aktualisieren, ohne die Instanz Clearing .Please den Code unten für ein besseres Verständnis sehenWie erzwingen Sie das Bild mit Glide aktualisieren?

if(!getBoolValueForProfilePicUploading()) 
    {  glide.with(context).load(imgData.url).asBitmap().centerCrop().diskCacheStrategy(DiskCacheStrategy.SOURCE).placeholder(R.drawable.default_profilepic).error(R.drawable.default_profilepic).into(new BitmapImageViewTarget(userImageView) { 
        @Override 
        protected void setResource(Bitmap resource) { 
         RoundedBitmapDrawable circularBitmapDrawable = 
           RoundedBitmapDrawableFactory.create(context.getResources(), resource); 
         circularBitmapDrawable.setCircular(true); 
         userImageView.setImageDrawable(circularBitmapDrawable); 
        } 
       }); 
      }else 
      { 
       new LongOperation(context,imgData,userImageView).execute(); 
      } 

Dies ist für AsyncTask Hintergrund(),

protected String doInBackground(String... params) { 
       try 
       { 
        Glide.get(context).clearDiskCache(); 
        Glide.get(context).clearMemory(); 
       }catch (Exception e) 
       { 
        e.printStackTrace(); 
       } 

       return null; 
      } 
+1

haben Sie 'skipMemoryCache()' ausprobiert? –

+0

no.Thanks für die Antwort .Ich werde überprüfen und zurück zu Ihnen. – Ajay

+0

Was ist der Klassenname für die Methode – Ajay

Antwort

1

Ich habe versucht

avatar.setImageURI(null); 
avatar.setImageURI(avatarUri); 

aber skipMemoryCache() speicherte meinen Tag.