SimpleDraweeView は、ピクセル化されたビットマップ イメージを外部ストレージから読み込んでいます。
これを介して、アセットフォルダーから外部ストレージに画像をコピーしています
private OutputStream copy(InputStream in, OutputStream out) throws IOException{
// Transfer bytes from in to out
byte[] buf = new byte[in.available()];
int len;
while ((len = in.read(buf)) > 0) {
out.write(buf, 0, len);
}
in.close();
out.close();
return out;
}
次に、これを介してSimpleDraweeViewの画像を設定しています
Fresco.getImagePipeline().evictFromMemoryCache(uri);
Fresco.getImagePipelineFactory().getMainDiskStorageCache().remove(new SimpleCacheKey(uri.toString()));
Fresco.getImagePipelineFactory().getSmallImageDiskStorageCache().remove(new SimpleCacheKey(uri.toString()));
Postprocessor postprocessor = new BasePostprocessor() {
@Override
public void process(Bitmap bitmap) {
});
}
};
ImageRequest request = ImageRequestBuilder.newBuilderWithSource(uri)
.setPostprocessor(postprocessor)
.build();
PipelineDraweeController controller = (PipelineDraweeController)
Fresco.newDraweeControllerBuilder()
.setImageRequest(request)
.setOldController(header.getController())
.build();
header.setController(controller);