我使用 Picasso 方形库在我的 Android 应用程序中加载图像。这样做时效果很好:
Picasso.with(getApplicationContext()).load(Properties.IMAGE_URL + i).transform(transformation).centerCrop().fit().into(imgeButton);
我的问题是图像加载太慢,我希望缓存比现在大。我看到当只使用一个图像时缓存工作正常;第一次图像不会被缓存,之后每次调用相同的代码时,图像将从缓存中获取,而不是从网络中获取。 随着图片数量的增加,似乎是缓存太小,更换图片。可以修改/扩大缓存大小吗?
如有任何帮助,我们将不胜感激。
谢谢
最佳答案
您可以指定自己的 LRUCache 供 Picasso 使用。
Picasso picasso = new Picasso.Builder(context).memoryCache(
new LruCache(cacheSize)).build();
我认为默认情况下,Picasso 使用可用堆的 1/7 作为 LRU。但是您可以使用设备内存类来计算所需的大小。
int memClass = ((ActivityManager) mApplicationContext
.getSystemService(Context.ACTIVITY_SERVICE))
.getLargeMemoryClass();
int cacheSize = 1024 * 1024 * memClass / 4;
祝你好运!
关于Android Image Picasso Square缓存大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26663767/