某些网址中的图片未加载到毕加索中

时间:2017-12-12 08:44:02

标签: android caching picasso

我首次在线使用picasso从URL加载图片,然后从缓存中使用。来自网络的任何网址都会在imageview上线或离线加载。但我的服务器图像URL是在线加载图像而非离线。我使用下面的图片加载代码。

 Picasso.with(mContext)
            .load(urlProfile)
            .networkPolicy(NetworkPolicy.OFFLINE)
            .placeholder(R.drawable.ic_place_holder)
            .into(imageView, new Callback() {
                @Override
                public void onSuccess() {

                }

                @Override
                public void onError() {
                    Picasso.with(mContext)
                            .load(urlProfile)
                            .placeholder(R.drawable.ic_place_holder)
                            .into(imageView);
                }
            }); 

在线或离线加载网址: URL

我的服务器网址仅在线加载图片: URL

我在缓存目录中显示,发现我的服务器URL的图像没有被缓存。任何人都有这个想法。

1 个答案:

答案 0 :(得分:3)

嗨,下面是我的解决方案,它的工作正常。

Picasso.with(mContext)
                .load(Uri.parse(urlProfile))
                .networkPolicy(NetworkPolicy.OFFLINE)
                .into(iv_view, new Callback() {
                    @Override
                    public void onSuccess() {
                        // if you are showing progress then handle it on here
                    }

                    @Override
                    public void onError() {
                        // Try again online if cache failed and download using internet                          
                        new Picasso.Builder(mContext)
                                .downloader(new OkHttpDownloader(mContext, Integer.MAX_VALUE))
                                .build()
                                .load(Uri.parse(urlProfile))
                                .placeholder(R.mipmap.ic_launcher)
                                .into(iv_view);
                    }
                });

希望这可以帮助你..

顺便说一下这个很老,但你可以使用Glide来获得更好的性能。