Android Image Picasso Square缓存大小

标签 android image picasso image-loading

我使用 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/

相关文章:

android - Android 中 fragment 内的选项卡

android - 如何在不使用 su( super 用户)的情况下重启设备?

java - 有没有办法使用 Salesforce APEX 将图像保存到 Salesforce

android - Aquery vs ButterKnife 和 picasso

android - 在新的 Android 开发者控制台中发布之前是否可以更新 APK 和商品列表?

android - Android中如何传输红外信号

cs50 pset5 为什么我的图像恢复程序只能恢复 50 个图像中的 49 个?

html - 自动调整同一行上的图像和/或图标的大小

android - 图像未使用 Rx Observable 和 Retrofit2 加载 Picasso

android - 将 Picasso 添加到 Gradle 时出现运行时错误