Ich habe eine BackgroundImageActivity, die Hintergrundbild mit Picasso laden. Aber wenn ich zurück nach Hause gehe (onStop() in BackgroundImageActivity aufgerufen) und gehen Sie in eine andere Instanz dieser Aktivität, die ein anderes Hintergrundbild laden soll, aber zuerst 2 Sekunden, zeigt es immer noch das Bild von früheren BackgroundImageActivity. Ist das eine Art Cache?Wie lösche ich mit Picasso geladene Bilder auf Android?
Wie kann ich dieses Bild löschen, so dass, wenn ich in eine neue Instanz von BackgroundImageActivity gehe, ich das Bild von vorherigem nicht sehe?
public class BackgroundImageActivity extends Activity {
@Override
public void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
initBackground();
}
@Override
protected void onStop() {
super.onStop();
Picasso.invalidate(imageUrl, getApplicationContext());
}
private void initBackground() {
...
}
private void setBg(final String imageUrl, final int bg) {
this.imageUrl = imageUrl;
final RequestCreator picassoRequest = Picasso.load(imageUrl, bg).memoryPolicy(MemoryPolicy.NO_CACHE);
targetReference = new Target() {
@Override
public void onBitmapLoaded(final Bitmap bitmap, final Picasso.LoadedFrom from) {
...
}
@Override
public void onBitmapFailed(final Drawable errorDrawable) {
...
}
@Override
public void onPrepareLoad(final Drawable placeHolderDrawable) {
...
}
};
picassoRequest.placeholder(bg).error(bg).into(targetReference);
}
}
Vielen Dank !!!