UICollectionview Scrolling abgehackt beim Laden von Zellen
Habe ich eine Galerie in meine app Nutzung einer UICollectionView
. Die Zellen sind rund 70,70 Größe. Ich bin mit ALAssets
von der ALAssetLibrary
in der Galerie, die ich in einer Liste gespeichert.
Ich bin mit dem üblichen Muster für das Auffüllen der Zellen:
-(UICollectionViewCell*)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
mycell = [collectionView dequeueReusableCellWithReuseIdentifier:cellIdentifier forIndexPath:indexPath];
mycell.imageView.image = [[UIImage imageWithCGImage:[alassetList objectAtIndex:indexpath.row] thumbnail]];
return mycell;
}
Meiner Galerie ist das scrollen ruckelig. Ich verstehe nicht, warum das so ist. Ich habe versucht, das hinzufügen einer NSCache cache der thumbnail-Bilder (das denken vielleicht die Erstellung der Bilder war teuer) aber dies half auch nicht für die Leistung.
Ich würde erwarten, dass die UI so buttrig wie die stock-app.
Ich bin jetzt zu Ahnen, es könnte etwas in der UICollectionViewCell prepareForReuse
werden kann, hält die dequeueReusableCellWithReuseIdentifier
Methode, aber mit Instrumenten, die ich war nicht in der Lage diese zu finden.
Andere Sache, die möglicherweise die Ursache sein? Gibt es eine "schnellere" Weg zur Vorbereitung der UICollectionViewCell
oder zu dequeue
Sie in eine schnellere Mode?
InformationsquelleAutor der Frage Avner Barr | 2013-08-27
Du musst angemeldet sein, um einen Kommentar abzugeben.
Also jeder mit Blättern Probleme machen sollte diese
fügen Sie diese 2 Zeilen nach Ihrem dequeue
InformationsquelleAutor der Antwort Avner Barr
Ich würde davon ausgehen, das "choppyness" kommt aus der UIImage Zuordnung, nicht alles mit der
dequeueReusableCellWithReuseIdentifier
Methode. Ich würde versuchen, das Bild Zuteilung, die auf einem hintergrund-thread und sehen, ob das macht die Dinge ein wenig mehr buttrig.Mehr details finden Sie hier: https://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/Multithreading/Introduction/Introduction.html
InformationsquelleAutor der Antwort preynolds
Laden Sie Ihre Bilder mit NSURLConnection ist
sendAsynchronousRequest:queue:completionHandler:
InformationsquelleAutor der Antwort Beau Hankins
Häkchen bei clip-Untersichten und undurchsichtig in den attributes-Inspektor, und abhaken, paging aktiviert.
InformationsquelleAutor der Antwort A.G
Wenn jemand mit PhImageManager, ausschalten synchron das problem gelöst. (deliveryMode = .FastFormat können auch zusätzliche performance-Verbesserung, aber der Nachteil ist die Miniaturansicht von geringerer Qualität)
InformationsquelleAutor der Antwort RedHotScalability
Hatte ich Probleme mit
UICollectionView
scrollen.Was funktioniert (fast) wie ein Charme für mich: ich aufgefüllt, die Zellen mit png-thumbnails 90x90. Ich sage fast, denn die erste vollständige schriftrolle ist nicht so glatt, aber noch nie abgestürzt ist nicht mehr...
In meinem Fall, die Größe der Zellen ist 90x90.
Hatte ich viele original-png-Größen vor, und es war sehr abgehackt beim png-original Größe war größer als ~1000x1000 (viele Abstürze auf den ersten Blättern).
So dass ich wählen, 90x90 (oder ähnliches) auf die
UICollectionView
und zeigen die original-pngs (unabhängig von der Größe). Hoffe, das hilft anderen.InformationsquelleAutor der Antwort Paulo Souto