所以我同时使用Picasso下载两张图片,如下所示:
Picasso.with(this).load(Constants.SERVER_HOME_PAGE_TOP_IMAGE_URL).into(new Target() {
@Override
public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom from) {
sLastBitmapLoadedDate = Calendar.getInstance();
int h= (int) (Constants.PAGE_TOP_IMAGE_HEIGHT * densityMultiplier);
int w= (int) (h * bitmap.getWidth()/((double) bitmap.getHeight()));
sTipBitmap = Bitmap.createScaledBitmap(bitmap, w, h, true);
Log.v("Image: ", "one");
topImage.setImageBitmap(sTipBitmap);
}
@Override
public void onBitmapFailed(Drawable errorDrawable) {
}
@Override
public void onPrepareLoad(Drawable placeHolderDrawable) {
}
});
Picasso.with(this).load(Constants.SERVER_HOME_PAGE_BOTTOM_IMAGE_URL).into(new Target() {
@Override
public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom from) {
sLastBitmapLoadedDate = Calendar.getInstance();
int h= (int) (Constants.PAGE_BOTTOM_IMAGE_HEIGHT * densityMultiplier);
int w= (int) (h * bitmap.getWidth()/((double) bitmap.getHeight()));
sAdBitmap = Bitmap.createScaledBitmap(bitmap, w, h, true);
Log.v("Image: ", "two");
bottomImage.setImageBitmap(sAdBitmap);
}
@Override
public void onBitmapFailed(Drawable errorDrawable) {
}
@Override
public void onPrepareLoad(Drawable placeHolderDrawable) {
}
});
我正在使用Target修改图像大小。所以我从来没有在两种情况下都使用onBitMapLoaded。如果我注释掉其中一个请求,那么它将加载图像并点击onBitMapLoaded,在那里我调整图像大小。
所以我确实以错误的方式解决这个问题。如果有人可以帮我解释我做错了什么。
谢谢!
答案 0 :(得分:0)
我去过那儿。尝试用Picasso下载多张图片超过3天。但是我发现下载多个图像的最佳方法是使用文件下载程序库。 FileDownloader库是一个令人难以置信的选择,因为它允许同步和异步地下载队列中的多个图像。
作为快照,您可以使用此库将多个图像作为队列下载:
apply(array(unlist(df1), c(3, 2, 2)), c(1,2), mean)
此处提供了完整的使用指南:Wiki
此外,这是我用Picasso下载多张图片时提出的问题:Downloading images using Picasso creates incorrect images in cache, possible fix?