使用Picasso和OKHttp缓存图片

时间:2015-08-31 15:15:46

标签: android image caching picasso

我试图在完成一些家庭作业之后使用毕加索来缓存图片我发现毕加索并没有指导缓存图像。因此,请使用https://gist.github.com/fada21/10655652

的帮助

这是成功将图像缓存到文件夹。我可以看到这些文件,但是当手机离线时它们不会重新加载。

我正在以这种方式加载图片:

PicassoBigCache.INSTANCE.getPicassoBigCache(getContext().getApplicationContext()).load(pd.getImage()).placeholder(R.drawable.defaultloading).error(R.drawable.none).resize(238, 250).into(holder.image);

1 个答案:

答案 0 :(得分:0)

我修复了缓存问题的加载,如下所示:

我使用了https://gist.github.com/fada21/10655652

然后做了以下事情:

添加了一个变量来检查互联网是否存在......

if (isnetworkavailable.equalsIgnoreCase(mContext.getResources().getString(R.string.yesnetwork)))
{ 
 PicassoBigCache.INSTANCE.getPicassoBigCache(getContext().getApplicationContext()).load(pd.getImage()).placeholder(R.drawable.defaultloading).error(R.drawable.none).resize(238, 250).into(holder.image);
}
else
{
 PicassoBigCache.INSTANCE.getPicassoBigCache(getContext().getApplicationContext()).load(pd.getImage()).placeholder(R.drawable.defaultloading).error(R.drawable.none).resize(238, 250).networkPolicy(NetworkPolicy.OFFLINE).into(holder.image);
}

如果我使用system.exit关闭应用程序或强制关闭,这样可以正常工作。

不确定这是否正确但我得到了结果。事情进展顺利。希望这对某人有用!