android - 是否可以更改 picasso 用于图像的缓存大小?

标签 android picasso android-lru-cache

我正在使用 Picasso 从 URL (http://) 加载图像。 有时,当我尝试使用 Picasso 的 fetch() 方法“预加载”图像时,图像不会被缓存。我猜是因为它的尺寸太大了。

阅读 this 的答案问题,但是 setCache() 似乎没有被我识别出来,我什至没有在 Picasso 文档中找到它。

有什么方法可以更改 Picasso 用于位图的缓存大小吗?

最佳答案

你可以这样做:

int maxSize = MAX_CACHE_SIZE;
Picasso picasso = new Picasso.Builder(context)
                              .memoryCache(new LruCache(maxSize))
                              .build();

Picasso 使用 Cache管理缓存的接口(interface)类型。它们提供默认实现,LruCache ,它有一个 constructor接受以字节为单位的最大大小作为参数。

似乎其他答案使用了错误的功能。应该是memoryCache,不是setCache

关于android - 是否可以更改 picasso 用于图像的缓存大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30705408/

相关文章:

android - LRUCache 未按预期工作

android - 不要在错误时更改 TextInputLayout 背景

Android C2DM Auth token,一次或每次

java - Android Glide 模糊变换

android - picasso 和语境

android - 使用 Android 的 lrucache 示例

android - 图像链接存储在sqlite DB中,如何缓存

java - 如何离线使用缓存,否则使用网络

java - Android 支持类似拦截器的模式吗?想要在主逻辑之前捕获所有 403 响应

java - 使用 Picasso Android 时出现错误 RecyclerView