Android - 毕加索有时会错过图片

时间:2016-02-16 13:26:39

标签: android picasso bitmapfactory imagedownload

我使用Picasso库使用以下代码下载图像,我通过调整大小并转换为循环来加载循环中的许多图片。有时图像被成功加载,有时会调用onError方法而不是Callback中的onSuccess。我收到此错误SkImageDecoder::Factory returned null Error。当我卸载应用程序然后重新安装图像后成功加载。究竟有什么问题可以提出任何解决方案。

代码:

int dp = (int) resources.getDimension(R.dimen.marker_pic_size);
    Picasso.with(context).load(profilePic_url)
            .transform(new CircleTransform())
            .resize(dp, dp)
            .into(tempView, new Callback() {
                @Override
                public void onSuccess() {
                Log.d("usm_onSuccess", profilePic_url);   
                  }

                @Override
                public void onError() {
                    Log.d("usm_onError", profilePic_url);
                }
            });

1 个答案:

答案 0 :(得分:1)

通过使用Target,它可以解决您的问题。

target = new Target() {
@Override
public void onPrepareLoad(Drawable drawable) {}

@Override
public void onBitmapLoaded(Bitmap bitmap, LoadedFrom arg1) {
    if(bitmap != null) {
        tempView.setImageBitmap(bitmap);
    }
}

@Override
public void onBitmapFailed(Drawable drawable) {}
};

...

int dp = (int) resources.getDimension(R.dimen.marker_pic_size);
    Picasso.with(context).load(profilePic_url)
            .transform(new CircleTransform())
            .resize(dp, dp)
            .into(target);
tempView.setTag(target);

知道issue。您可能还会看到this以获得更多想法。