首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Picasso缓存异常

Picasso缓存异常
EN

Stack Overflow用户
提问于 2016-03-07 11:03:24
回答 2查看 253关注 0票数 1

我使用毕加索在recyclerView中上传图片

在第一次打开应用程序时,它可以正常工作并上传图像,但是从现在开始,每次我打开应用程序时,加载都会失败,缓存方面有一个很长的例外:

===============BEGIN PICASSO Stats ===============内存缓存统计最大缓存大小: 9586980缓存大小:0缓存%满:0 Cache命中:0缓存未命中:1网络统计下载计数:0下载总大小:0平均下载大小:0位图统计总位图解码:0总位图大小:0总转换位图:0总转换位图大小:0总转换位图大小:0平均位图大小:0平均转换位图大小:0 ===============END PICASSO STATS ===============

问题是,我几乎没有开始加载图像,所以缓存已经满了或者出现异常是完全不合理的。

这是我的密码:

代码语言:javascript
运行
复制
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);

}

代码语言:javascript
运行
复制
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) {

}

};
EN

回答 2

Stack Overflow用户

发布于 2016-08-19 07:57:26

在函数into(Target target)中,Picasso检查当前线程是否为主线程。请参阅RequestCreate.java中的代码:

代码语言:javascript
运行
复制
public void into(@NonNull Target target) {
    long started = System.nanoTime();
    checkMain();

    ...
}
票数 0
EN

Stack Overflow用户

发布于 2020-10-07 20:04:35

https://github.com/square/picasso/issues/305

上面的链接更深入地讨论了这个问题,一个潜在的解决方案。

对我起作用的是skipMemoryCache(),现在被称为memoryPolicy(MemoryPolicy.NO_CACHE),被称为skipMemoryCache()是不推荐的。

虽然这成功地减少了我的应用程序中的崩溃,但我确实希望告诉大家,重新加载这些图像确实需要时间,当然,因为没有缓存,因此影响了性能。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35842058

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档