2015-12-29 4 views
6

Ich entwickle ein Projekt, bei dem ich einige Bilder vom Server herunterladen muss. Ich habe diese 3 Methoden ausprobiert.Wie man Bild schneller in android Volley/Picasso/Glide andere?

Picasso:

Picasso.with(context).load(image).into(holder.image); 

Glide:

Glide.with(context).load(image).into(holder.image); 

Volley:

imageLoader.get(image, new ImageLoader.ImageListener() { 
     @Override 
     public void onResponse(ImageLoader.ImageContainer response, boolean isImmediate) { 
      holder.image.setImageBitmap(response.getBitmap()); 
     } 

     @Override 
     public void onErrorResponse(VolleyError error) { 

     } 
    }); 

Kein Zweifel, alle diese Methoden arbeiten sehr gut in schnellen Internetverbindung. aber in 2G Es dauert zu viel Zeit, um ein Bild von 20kb - 25kb herunterzuladen. Ich habe auch versucht Bildgrößenanpassung und alles. Aber daraus wird kein gutes Ergebnis. Ich sah Anwendung wie Amazon oder Flipkart oder jede E-Commerce-Anwendung diese Anwendungen arbeiten sehr gut in langsamen Internetverbindung und dowanloads alle Bilder in guter Auflösung auch. Also, ich möchte einige Expertenlösungen zu diesen Problemen.

+0

können Sie mit [fresco] versuchen (http://frescolib.org/) – kId

+0

Wenn Sie diese Bibliothek zum ersten Mal verwenden, dauert es Zeit, das Bild herunterzuladen und danach lädt es automatisch Bilder schneller als es Bilder aus dem Cache – Rajesh

+0

anzeigen Überprüfen Sie http://StackOverflow.com/Questions/29363321/Picasso-VS-ImageLoader-VS-Fresco-VS-Glide Sie können versuchen, Fresko – Rajesh

Antwort

2

Glide, Picasso holen Sie einfach das Bild vom Server und zeigen Sie es. Wenn die Netzwerkgeschwindigkeit geringer ist, dauert das Laden der Bilder länger. Sie müssen die Bilder auf der Serverseite neu skalieren. Wenn Sie das Format WebP anstelle von JPEG oder PNG verwenden, können Sie die Größe reduzieren, ohne die Qualität zu reduzieren.

Hinweis: Sie können Thumbor verwenden, um dies leicht zu erreichen.

+0

Danke. Ich werde es versuchen. Ich habe auch E-Commerce-Projekt. Gerade jetzt, In diesem Projekt haben nur 20 Bilder, so dass es leicht für mich sein wird, Format von all diesen zu ändern. Aber, Was im E-Commerce zu tun hat es um 1 Lac-Produkte. Ich kann nicht alle diese Bildformate ändern. Also was soll ich machen? –

+0

Verwenden Sie etwas wie Thumbor. aktualisierte die Antwort –

0

Wenn Sie einzelne Bild auf einigen Klick herunterladen und speichern sie auf SD-Karte. Die Android DownLoadManager-Klasse ist die perfekte und einfache Lösung dafür. Oder Wenn Sie einen Bildspeicher in Ihrer Anwendung aus dem Web anzeigen möchten, ist Universal Image Loader genauso nützlich wie Volley und Picasso. Zum Herunterladen von Image Faster müssen Sie ihre Größe reduzieren. Verwenden Sie das WebP-Format anstelle von Jpeg oder PNG am Serverende.

0

Wenn kein Caching benötigt wird und direkt vom Netzwerk heruntergeladen wird, ist Picasso eine gute Option. Wenn Caching erforderlich ist, verwenden Sie AQuery für Bilder (oder große Bilder). In AQuery gibt es mehrere Optionen zum Caching.