Verbessern UITableView-scrolling-performance beim laden von Bilder

Ich habe einen Bildlauf raster von Fotos, die aussieht und funktioniert ziemlich genau, wie die Fotoauswahl auf dem iPhone. Es ist konstruiert aus einem UITableView, die nutzt eine custom UITableViewCell das zeigt eine Reihe von Fotos (sehr ähnlich wie Three20 implementiert).

Es funktioniert Super, außer, dass die scrolling-performance ist schlecht. Ich bin bereits folgende die meisten die best practices für die schnelle UITableView scrollen (à la Tweetie).

Die Bilder sind alle gebündelt mit der app. Ich laden Sie Sie auf dem UI-thread auf Nachfrage. Ich benutze UIImage ist imageNamed: so, dass die Bilder zwischengespeichert werden, nachdem Sie zum ersten mal geladen wird. Einmal ich habe einen Bildlauf durch die Tabelle wird einmal, es scrollt sehr glatt.

Das problem ist, die erste Zeit mit scrollen durch die Tabelle anzuzeigen, scrollen ist nervös. Ich habe ein Profil der app und fand, dass der Großteil der Zeit wird für das laden der images aus dem Dateisystem. Sie sind JPEG-Bilder, die bereits richtig dimensioniert (zu klein). Ich habe versucht, mit PNG-Bilder statt, aber die Leistung nicht verbessern, sehr viel.

Dem iPhone-Foto-picker Exponate viel besser einlegen Leistung. Ich Frage mich, ob die Kombination aller Fotos in einem einzigen Bild, das ich laden einmal und dann teilen sich in kleinere Bilder werden schneller. Es funktioniert sicherlich in den spielen, aber ich weiß, dass ist wirklich eine ganz andere Geschichte. Hat jemand schon Erfahrung damit?

Andere Ideen, wie ich die Leistung verbessern können?

Übrigens, ich habe eine ähnliche, wenn auch weniger, performance-Problems für ein anderes UITableView, die nur verwendet standard-UITableViewCells mit einem Bild zugewiesen, um die Bildansicht pro Zeile.

InformationsquelleAutor Hilton Campbell | 2011-01-06

Schreibe einen Kommentar