2016-02-16 1 views
1

J'utilise la bibliothèque Picasso pour le téléchargement d'images en utilisant le code suivant, je dois charger beaucoup d'images dans une boucle en les redimensionnant et en les transformant en circulaire. Parfois, les images sont chargées avec succès et parfois la méthode onError est appelée à la place de onSuccess dans Callback. Et je reçois cette erreur SkImageDecoder::Factory returned null Error. Lorsque je désinstalle l'application, puis après la réinstallation des images sont chargées avec succès la plupart du temps. Quel est le problème exactement et suggère gentiment n'importe quelle solution.Android - Picasso manque parfois des images

code:

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

Je suis également confronté à ce problème? N'importe quel ANswer serait Life Saver! –

Répondre

1

Par l'utilisation de Target il peut vous résoudre le problème.

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); 

Il est connu issue .Vous pouvez également voir this pour obtenir plus d'idée.

+0

Merci pour votre réponse. Je reçois toujours 'SkImageDecoder :: Factory return null Error' pour certaines images –