我正在这样初步化毕加索:
Picasso picasso = new Picasso.Builder(this)
.downloader(new OkHttpDownloader(this))
.build();
picasso.setDebugging(true);
不知何故,如果图像只保存到内存缓存中,则永远不会保存到磁盘缓存中。关闭应用程序并重新打开它会导致重新下载图像。
有什么想法吗?
答案 0 :(得分:0)
因为看起来你没有任何特别的东西需要添加,所以创建毕加索如下:
Picasso picasso = Picasso.with(this);
它重用了实例,而不是每次都创建一个新实例(如果您从Adapter.getView()调用它,这将特别危险)。因此,只有在自定义某些行为时才使用Picasso.Builder,例如提供不同的Downloader或Listener,如果这样做,请不要从Adapter.getView()实现中执行此操作。 / p>
您不需要提供 OkHttpDownloader ,如果您在类路径中有OkHttp库,则默认情况下已提供它。检查您下载的网址是否没有遭受任何Http重定向,例如HTTP 301或HTTP 302,Picasso在某些情况下不能很好地处理它,至少在当前版本(2.2.0)之前
除此之外,您的代码看起来很好,应该可以工作。祝你好运!