Frescoライブラリを使用しています。
Fresco のドキュメントに関連情報が見つかりません。Fresco のディスク キャッシュから画像ファイルを取得するにはどうすればよいですか?
Frescoライブラリを使用しています。
Fresco のドキュメントに関連情報が見つかりません。Fresco のディスク キャッシュから画像ファイルを取得するにはどうすればよいですか?
画像がキャッシュにダウンロードされている場合は、次のように実行できます。
ImageRequest imageRequest=ImageRequest.fromUri(url);
CacheKey cacheKey=DefaultCacheKeyFactory.getInstance()
.getEncodedCacheKey(imageRequest);
BinaryResource resource = ImagePipelineFactory.getInstance()
.getMainDiskStorageCache().getResource(cacheKey);
File file=((FileBinaryResource)resource).getFile();
ImageRequest request = ImageRequestBuilder.newBuilderWithSource(Uri.parse(YourImageUrl))
.setLowestPermittedRequestLevel(ImageRequest.RequestLevel.DISK_CACHE)
.setResizeOptions(new ResizeOptions(width, width))
.build();
DraweeController controller = Fresco.newDraweeControllerBuilder()
.setOldController(YourImageView.getController())
.setImageRequest(request)
.build();
このコード:
.setLowestPermittedRequestLevel(ImageRequest.RequestLevel.DISK_CACHE)
fresco は最初にディスクからイメージを取得し、次にネットから取得します。