gpt4 book ai didi

Fresco 中的Android图像无效

转载 作者:行者123 更新时间:2023-11-29 15:50:37 25 4
gpt4 key购买 nike

我正在将 android 图像缓存库从 picasso 迁移到 fresco。我想知道是否有任何方法可以使已经捕捉到的图像无效,因为我正在添加功能来替换现有图像有办法在 picasso 中这样做

Picasso.with(context).invalidate(URI);

此行删除缓存的图像并使用提供的 url 使用新的图像,这与

http://example.com/image_path

在 Fresco 中我尝试使用

Fresco.getImagePipeline().evictFromMemoryCache(uri);

这是从 View 中删除图像,但再次添加相同的旧缓存图像,而不是从网络获取新图像,因为它在 picasso 中工作。


请引用问题Invalidate cache in Picasso接受的答案在 picasso 的情况下做得很好。

最佳答案

Fresco.getImagePipeline().evictFromMemoryCache(uri);

上面的代码行从捕捉器中删除图像,但图像保留在磁盘中并在调用时呈现相同。我们还需要从磁盘中删除相同的图像。下面两行从磁盘缓存中删除图像,如果从磁盘缓存中保存,我们还需要删除缩略图。

Fresco.getImagePipelineFactory().getMainDiskStorageCache().remove(new SimpleCacheKey(uri.toString()));
Fresco.getImagePipelineFactory().getSmallImageDiskStorageCache().remove(new SimpleCacheKey(uri.toString()));

注意:如果您使用的是自定义缓存键,则需要以这种方式进行更改。

关于 Fresco 中的Android图像无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30254189/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com