Ich habe eine geeignete Ansicht, die ziemlich große Bilder in jede Zelle lädt und deren Zellenhöhen je nach Größe des Bildes variieren. Die Bildlaufleistung ist anständig, kann aber manchmal ruckartig sein.
Ich habe diese Tipps im FieryRobot-Blog gefunden:
Glas-Scrollen-mit-geeigneter Ansicht
mehr glasiges Scrollen mit passender Ansicht
Hat jemand Tipps zur Verbesserung der Scroll-Leistung von uitableview?
Antworten:
UITableViewCell
's,drawRect:
wenn möglich, vermeiden Sie Unteransichten um jeden Preis (oder wenn Sie die Standardfunktionalität für Barrierefreiheit benötigen, die InhaltsansichtendrawRect:
)UITableViewCell
die Ebene Ihrer Ebene undurchsichtig (dasselbe gilt für die Inhaltsansicht, falls Sie eine haben)UITableView
Beispielen / Dokumentationen empfohlene Funktion reusableCellIdentifierUIImage
s vorgebacken sindquelle
UITableViewCell
, verwenden Sie keine Schreibfeder, sondern schreiben Sie sie stattdessen in Code. Es ist viel schneller als das Laden von Nib-Dateien.quelle
Der Entwickler hinter Tweetie hat ausführlich darüber geschrieben und verfügt über Code, der zeigt, wie es für diese App gemacht wurde. Grundsätzlich befürwortet er / sie eine benutzerdefinierte Ansicht pro Tabellenzelle und zeichnet sie manuell (anstatt sie unter anderem mit Interface Builder zu unterzeichnen).
schnelles Scrollen-in-Tweetie-mit-geeigneter Ansicht
Außerdem hat Apple in seinen TableViewSuite-Tutorials einen eigenen Beispielcode für TableView aktualisiert (möglicherweise als Antwort darauf?).
TableViewSuite
quelle
Der Leistungskiller Nr. 1 für das Scrollen mit UITableView ist das Zeichnen von Schatten auf einer beliebigen Ebene der Zellenansicht. Wenn also die Leistung des Bildlaufs wichtig ist, machen Sie keine Schatten, es sei denn, dies verlangsamt Ihren Haupt-Thread im Grunde nicht.
dachte, dies müsse gesagt werden, da in keiner der akzeptierten Antworten Schatten und Schichten erwähnt wurden. : +)
quelle
Jedes Problem mit der
UITableView
Bildlaufleistung kann mithilfe von Techniken gelöst werden, die bereits in anderen Antworten beschrieben wurden. Eine oftmals träge Leistung wird jedoch durch etwas verursacht, das von Natur aus fehlerhaft oder sich wiederholend ist.Die Tatsache, dass
UITableView
die Zellen wiederverwendet werden und dass jede Zelle möglicherweise ein eigenes Bild benötigt - zusammen macht die Lösung etwas komplexer. Ausgehend davon, wie es allgemein gelöst wird, fasse ich hier Dinge zusammen, die erledigt werden sollten:[tableView reloaddata]
cellForRowAtIndexPath
Code hinzu, der Daten (Text) aus dem richtigen Datenmodellobjekt des Arrays festlegt.Um Probleme zu vermeiden, lesen Sie dieses Tutorial zum verzögerten Laden von Bildern in der Tabellenansicht.
quelle