【发布时间】:2016-06-20 21:41:44
【问题描述】:
我正在使用 picasso 在 recyclerView 中上传图片
在第一次打开应用程序时,它可以工作并上传图像,但从现在开始,每次我打开应用程序时,加载都会失败,并出现关于缓存的长时间异常:
===============开始毕加索统计 =============== 内存缓存统计 最大缓存大小:9586980 缓存大小:0 缓存百分比已满:0 缓存命中:0 缓存未命中:1 网络统计 下载次数:0 总下载大小: 0 平均下载大小:0 位图统计 解码的位图总数:0 总位图大小:0 总变换位图:0 总变换位图大小:0 平均位图大小:0 平均变换位图大小:0 ===============END PICASSO STATS ================
问题是我几乎没有开始加载图像,所以缓存已经满或出现异常是完全不合理的
这是我的代码:
Picasso.Listener listener = new Picasso.Listener() {
@Override
public void onImageLoadFailed(Picasso picasso, Uri uri, Exception exception) {
Log.e(Utils.TAG, "Error loading image: " + exception.getMessage());
exception.printStackTrace();
}
};
Picasso.Builder builder = new Picasso.Builder(context);
builder.listener(listener);
if(!veediChannelArrayList.get(i).isthumbLoaded()) {
builder.build().load(veediChannelArrayList.get(i).getRegularThumbnailURL()).into(target);
}
Target target = new Target() {
@Override
public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom from) {
veediChannelArrayList.get(i).setBitMap(bitmap);
veediChannelArrayList.get(i).setIsthumbLoaded(true);
channelsViewHolder.thumnailIV.setImageBitmap(veediChannelArrayList.get(i).getBitMap());
}
@Override
public void onBitmapFailed(Drawable errorDrawable) {
}
@Override
public void onPrepareLoad(Drawable placeHolderDrawable) {
}
};
【问题讨论】: