ListView SEHR langsam, wenn die Bilder geladen sind (mit Universal Image Loader)
Meine listView läuft sehr flüssig, mit nur text, aber sobald ich versuche zu laden ist, thumbnails (auch aus dem cache), es läuft SOO abgehackt.
Ich bin mit dem Universal Image Loader-Skript
Den code in meiner ArticleEntryAdapter innerhalb public View getView(...)
Methode:
/**
* PHOTOS
*/
ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(this.mContext)
.enableLogging()
.memoryCacheSize(41943040)
.discCacheSize(104857600)
.threadPoolSize(10)
.build();
DisplayImageOptions imgDisplayOptions = new DisplayImageOptions.Builder()
//.showStubImage(R.drawable.stub_image)
.cacheInMemory()
.cacheOnDisc()
//.imageScaleType(ImageScaleType.EXACT)
.build();
ImageLoader imageLoader = ImageLoader.getInstance();
imageLoader.init(config);
//loads image (or hides image area)
imageLoader.displayImage("", viewHolder.thumbView); //clears previous one
if(article.photopath != null && article.photopath.length() != 0)
{
imageLoader.displayImage(
"http://img.mysite.com/processes/resize_android.php?image=" + article.photopath + "&size=150&quality=80",
viewHolder.thumbView,
imgDisplayOptions
);
viewHolder.thumbView.setVisibility(View.VISIBLE);
}
else
{
viewHolder.thumbView.setVisibility(View.GONE); //hide image
viewHolder.thumbView.invalidate(); //should call after changing to GONE
}
Logcat zeigt, dass es dem laden der Bilder aus dem cache (glaube ich):
ImageLoader Load image from memory cache [http://img.mysite.com/processes/...
Teste ich es auf meinem Samsung Galaxy Nexus mit Android 4.0.4 (obwohl mein minSdkVersion="8")
InformationsquelleAutor Dave | 2012-08-23
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Setzen die instantation von ImageLoaderConfiguration config, DisplayImageOptions imgDisplayOptions ImageLoader imageLoader außerhalb Ihres getView-Methode als private Felder/Mitglieder der Adapter-Klasse. Sie sollten nur verfügen, erstellen Sie diese Dinge nur einmal, nicht jedesmal, wenn getView genannt wird.
Edit : ohne zu sehen, Ihre gesamte Adapter-Klasse, hier einen Stich an, was ich sage. Ich hoffe, Ihr nahe an dem, was Sie haben und machen Sie es sich zu erarbeiten. Laß mich wissen, so oder so.
Ich könnte falsch sein, aber wenn ich vor diesem Problem, habe ich beobachtet, dass die Verwendung von Bildern von kleineren Größen erhöht die Geschwindigkeit ungemein. Früher war ich der Verwendung von Bildern in nach oben von 150KBs, schaltete ich Sie auf 10 Stück und es funktionierte perfekt. Nur das hinzufügen zu den oben genannten Gedankengang, könnte sich als nützlich für die Optimierung später.