我使用Picasso方形库在我的Android应用程序中加载图像。这样做时效果很好:
Picasso.with(getApplicationContext()).load(Properties.IMAGE_URL + i).transform(transformation).centerCrop().fit().into(imgeButton);
我的问题是图像的加载速度太慢,我希望缓存比现在更大。我看到,当只使用一个图像时,缓存正常工作;第一次不缓存图像时,每次调用相同的代码后,图像将从缓存而不是网络中获取。 随着图像数量的增加,似乎缓存太小而图像被替换。可以修改/放大缓存大小吗?
对此的任何帮助将不胜感激。
由于
答案 0 :(得分:2)
您可以为Picasso指定自己的LRUCache来使用。
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;
祝你好运!