Фреска добавляет Bitmap в Cache программно

Я загружаю изображение на свой сервер, и после того, как я загрузил свой сервер, он отвечает новым URI для него (может быть тем же самым URL-адресом, что и старый), я хочу удалить старое кэшированное изображение и вставить новый для нового URI.

Я пытаюсь это сделать, делая:

// Retrofit2 onResponse String newImageUri = response.body().getUri(); String oldImageUri = Preferences.getUser().getImageUrl(); // Remove old image from cache Fresco.getImagePipeline().evictFromCache(Uri.parse(oldImageUri)); Fresco.getImagePipeline().evictFromDiskCache(Uri.parse(oldImageUri)); Fresco.getImagePipeline().evictFromMemoryCache(Uri.parse(oldImageUri)); Fresco.getImagePipelineFactory().getMainFileCache().remove(new SimpleCacheKey(oldImageUri)); // Insert new image at new URI try { Fresco.getImagePipelineFactory().getMainFileCache().insert(new SimpleCacheKey(newImageUri), new WriterCallback() { @Override public void write(OutputStream os) throws IOException { os.write(imageData); // byte[] or the new Bitmap } }); } catch (Exception e) { e.printStackTrace(); } uriProfileImage.setImageURI(newImageUri); 

Исключений нет, но я все еще вижу только старое изображение.

    Я решил это, это была ошибка с форматом Uri для нового Uri …

      Uri uri = Uri.parse("http://frescolib.org/static/fresco-logo.png"); Fresco.getImagePipelineFactory().getMainDiskStorageCache().remove(new CacheKey(uri.toString())); Fresco.getImagePipelineFactory().getSmallImageDiskStorageCache().remove(new CacheKey(uri.toString()));