我正在使用Picasso和GridView,通过网络加载200张图像。现在,看起来Picasso没有触发网络上的图像加载,直到图像开始在屏幕上显示。
有没有办法让Picasso预先获取列表中的下N个图像,以便体验更好?我正在使用适配器将图像放入Gridview。
答案 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();
}
}
}