我正在尝试使用fresco进行调用,然后在我的应用程序中使用“磁盘缓存”网络映像,但是fresco根本没有加载该映像。
这是我正在使用的代码,使用图像请求和DraweeController的主题是数据一旦加载就存储到disk_cache中。
Uri uri = Uri.parse(details.getImgUrl());
ImageRequest request = ImageRequestBuilder
.newBuilderWithSource(uri)
.setLowestPermittedRequestLevel(ImageRequest.RequestLevel.DISK_CACHE)
.build();
AbstractDraweeController controller = Fresco.newDraweeControllerBuilder()
.setImageRequest(request)
.setOldController(banner.getController())
.build();
banner.setController(controller);
尽管如果我使用ImageRequest.RequestLevel.FULL_FETCH
,则图像已加载但未缓存
答案 0 :(得分:0)
我希望这对您有帮助
在此链接上查看Plamenko的答案。https://github.com/facebook/fresco/issues/80
如果您请求管道提供已编码的图像,并使用ImageRequestBuilder.setLowestPermittedRequestLevel指定DISK_CACHE,则如果在磁盘高速缓存的任何位置找到该图像,则管道将为您返回JPEG字节;如果未找到该图像且已满,则管道将返回null -fetch必须执行。
代替壁画
尝试使用 GlideApp 进行图像缓存。它将解决您的问题。好吧,您可以轻松地集成它,如果您遇到困难,那么我会帮助您。但是请确保您不仅使用 Glide ,还使用 GlideApp 。
希望我不会误解您的问题并提供错误的答案。