让毕加索预先拍摄即将到来的图像

时间:2014-07-22 08:59:21

标签: android gridview picasso

我正在使用Picasso和GridView,通过网络加载200张图像。现在,看起来Picasso没有触发网络上的图像加载,直到图像开始在屏幕上显示。

有没有办法让Picasso预先获取列表中的下N个图像,以便体验更好?我正在使用适配器将图像放入Gridview。

1 个答案:

答案 0 :(得分:36)

我使用Picasso非常成功地将图像预取到缓存中,如下所示:

if (BuildConfig.DEBUG) {
     Picasso.with(getApplicationContext()).setIndicatorsEnabled(true);
     Picasso.with(getApplicationContext()).setLoggingEnabled(true);
}
for (Article article : articleList) {
     ArrayList<String> images = article.getImages();
     for (String url : images) {
          if (!TextUtils.isEmpty(url)) {
               Picasso.with(getApplicationContext())
                    .load(url)
                    .resizeDimen(R.dimen.article_image_preview_width, R.dimen.article_image_preview_height)
                    .centerCrop()
                    .fetch();
          }
     }
}