Android + Picasso:更改URLcaching过期

我正在使用毕加索下载和显示图像的所有accros我的申请。 这些图像变化很less(他们被认为是有效的几个月)。

有一个简单的方法可以让毕加索(或底层的okHttp)在光盘上保留这些图像吗?

Solutions Collecting From Web of "Android + Picasso:更改URLcaching过期"

磁盘caching发生在HTTP客户端内的Picasso“下面”。 事实上,这个过程是完全透明的。 我们从不明确要求caching版本或互联网版本,HTTP客户端将在内部作出决定并做正确的事情。

因为我们select利用HTTP客户端进行caching,所以我们几乎不能控制caching实际发生的情况。 为了回答你的问题,不,没有办法告诉毕加索(或OkHttp)caching图像的时间超过其头允许。

我用一个自制的caching解决了这个问题,诀窍就是向URL中添加一个未使用的参数,但是每X分钟使每个URL不同

Calendar cal2 = Calendar.getInstance(); long d = cal2.getTimeInMillis(); int extra = (int) Math.ceil(d/ (10*60*1000)); // 10 minutes cache Picasso.with(getBaseContext()) .load("http://sofzh.miximages.com/android/myimage.png&extra=" + extra) .placeholder(R.drawable.graphicLoading) .error(R.drawable.graphicLoadingError) .into(bottomGraphic);