2016-11-29 2 views
0

Ich habe 3 URLs auf gridview und nur 2 der 3 Bilder werden in ImageView geladen.Picasso lädt keine hohe Auflösung

I Picaso bin mit:

Picasso.with(c).load(imageUrl).placeholder(R.drawable.progress_animation).fit().centerCrop().into(ivPicture); 

Ich habe auch versucht Caching zu überspringen:

Picasso.with(c).load(imageUrl).placeholder(R.drawable.progress_animation).fit().centerCrop().memoryPolicy(MemoryPolicy.NO_CACHE, MemoryPolicy.NO_STORE).into(ivPicture); 

Zusätzliche Informationen des Bildes:

  • Breite 2048/Höhe 1371 Pixel
  • Dateigröße = 224KB
  • Dateiformat ist JPG

Als ich .resize(h w) Picasso verwenden, um ein die Auflösung zB niedriger: die Größe (100 100) zum Testen der Bild heruntergeladen wird, aber das Seitenverhältnis ist nicht gehalten, da einige Bilder, die ein 9 erhalten werden: 6 Verhältnis oder umgekehrt 6: 9 oder ein perfektes Quadrat 5: 5 und deshalb möchte ich keine Bilder auf ein festes Verhältnis Größe ändern stattdessen verwende ich .fit().centerCrop(), die sehr gut funktioniert, außer für diese 1 hochauflösende Bild, Picasso nur lädt der Platzhalter endlos ohne irgendwelche Fehler, kann ich verstehen, wenn die Pixel zu viele sind, aber die Dateigröße ziemlich klein ist, weiß ich nicht, warum Picasso kämpft, um ein +/- 200KB Bild herunterzuladen.

Gibt es eine Möglichkeit für Picasso, Bilder über bestimmte Pixel zu komprimieren?

Antwort

0

Picasso kann nicht sehr groß Bilder verarbeiten, da der Speicher erhalten .Sie müssen Bildtransformations- innerhalb nativen Code .Nicht in Java zu tun

+0

Ich denke, ich werde die Bilder auf hochgeladenen Video komprimieren, so dass picasso auf sie zugreifen können schon komprimiert, werde ich zu diesem Teil kommen, wenn ich meine Registrierungs- und Galerie-Upload-Klasse für Bilder schreibe, ich habe sie in einer meiner vorherigen Anwendungen verwendet, hoffe, dass alle Methoden und Bibliotheken noch verfügbar und immer noch aktuell sind – user3560827

Verwandte Themen