您可以使用Fresco在某些自定义键下缓存url吗?

问题描述 投票:0回答:1

我想使用Fresco缓存url,但是我需要将其缓存在某个键,标记或其他内容下,并使用该键或标记进行检索。可以使用壁画来做到这一点吗?

android fresco
1个回答
0
投票

您可以实现一个接受ImageRequest的自定义CacheKeyFactory,然后可以使用该自定义CacheKeyFactory创建缓存键。

CacheKeyFactory myFactory = new CacheKeyFactory() {
  @Override
  public CacheKey getBitmapCacheKey(ImageRequest request, Object callerContext) {
    // your logic goes here
    return new BitmapMemoryCacheKey(
        getCacheKeySourceUri(request.getSourceUri()).toString(),
        request.getResizeOptions(),
        request.getRotationOptions(),
        request.getImageDecodeOptions(),
        null,
        null,
        callerContext);
  }

}
ImagePipelineConfig.Builder builder = ...
builder.setCacheKeyFactory(myFactory);

Fresco.initialize(c, builder.build());

默认实现:https://github.com/facebook/fresco/blob/cc75c37eb777b000426a2373312e3b143c8ed9f7/imagepipeline/src/main/java/com/facebook/imagepipeline/cache/DefaultCacheKeyFactory.java

© www.soinside.com 2019 - 2024. All rights reserved.