我想使用Fresco缓存url,但是我需要将其缓存在某个键,标记或其他内容下,并使用该键或标记进行检索。可以使用壁画来做到这一点吗?
您可以实现一个接受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());