Android - 如何从Fresco磁盘缓存获取图像文件?

Eld*_*tov 11 java android image-caching fresco

我正在使用Fresco库.

我在Fresco文档中找不到任何相关信息,如何从Fresco的磁盘缓存中获取图像文件?

小智 5

如果图像已在缓存中下载,您可以这样做:

ImageRequest imageRequest=ImageRequest.fromUri(url);
CacheKey cacheKey=DefaultCacheKeyFactory.getInstance()
     .getEncodedCacheKey(imageRequest);
BinaryResource resource = ImagePipelineFactory.getInstance()
     .getMainDiskStorageCache().getResource(cacheKey);
File file=((FileBinaryResource)resource).getFile();
Run Code Online (Sandbox Code Playgroud)


Jal*_*esh 2

我希望这有帮助

检查 Plamenkos 在此链接上的答案.. https://github.com/facebook/fresco/issues/80

如果您向管道请求编码图像,并使用 ImageRequestBuilder.setLowestPermissedRequestLevel 指定 DISK_CACHE,则如果在磁盘缓存的任何位置找到该图像,管道将返回 JPEG 字节;如果未找到图像并且完全获取将返回 null必须执行。

我希望我没有误解你的问题并提供错误的答案。