Uiscrollview lazy loading
Habe ich alle Bilder von iphone mit AssetsLibrary.Ich bin vorbei UIImage-Objekt in der Bildansicht und der Anzeige von Bildern in der scrollview. Es gibt mehr als 200 Bilder in iphone und ich habe Sie zum anzeigen aller Bilder im scrollview vertikal ohne Verwendung von paging.Dies braucht viel Zeit, um Bilder anzuzeigen, und es hat auch memory-Probleme. Gibt es irgendeinen code für verzögertes laden von iphone-Bilder in scrollview
- siehe also Antwort stackoverflow.com/questions/6786614/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich gearbeitet habe auf diesem vor kurzem und haben ausgecheckt Lasten der Beispiel-code auf dem web. Keiner der es wirklich lazy loading (entgegen der Behauptung) oder hatte viel mehr Komplexität (unnötige Glocken und Trillerpfeifen) als ich bereit war zu setzen mit. Die Apple WWDC-videos für PhotoPicker erscheinen, um zu zeigen, lazy loading, aber scheinen mehr konzentrierte sich auf die Fliesen der pre-geschnitten-Bilder, also auch nicht viel Hilfe gibt.
Was ich am Ende dabei ist zum laden der
aspectThumbnails
auf einmal, denn Sie sind klein und nehmen nicht so viel Speicher und dann laden Sie diefullScreenImage
Darstellung auf Nachfrage vonscrollViewDidEndDecelerating
und laden Sie dieaspectThumbnail
für die Bildansicht off-screen. Der Effekt ist sehr flüssig und optisch, das Bild kommt ein wenig rau und dann schnell (durch laden im hintergrund) wird ersetzt durch das Bild mit höherer Auflösung.Kann es wohl verwenden, mehr Raffinesse - vielleicht das laden von Bildern mit voller Auflösung für die currentPage +1 & -1. Ich habe Sie nicht bekommen, um zu, dass, wie bisher. Auch bin ich mir nicht ganz sicher, ob meine Verwendung von Blöcken in der optimal–, aber nicht immer ein Fehler.
Rufe ich dies von einem Übergang, und legen Sie die
assetsArray
(NSArray von ALAssets) innerhalb derprepareForSegue:
Methode auf meinem root viewController.//ScrollViewController.m
Können Sie GCD-Blocks und grand central dispatch.
in Ihrem .h Datei deklarieren
Erstellen eines NSmutableDictionary
Folgenden Code verwenden, um zu Zeigen, Bild.
Gibt es viele Tutorials zur Verfügung.
Lassen Sie mich einige von Ihnen:
Wie Zu Verwenden UIScrollView, um Scroll-und Zoom-Inhalte
Scroll-Faul-Image Laden für iOS
Wenn Sie dont haben problem mit jemand den code
DMLazyScrollView : Lazy Loading UIScrollView (mit unendlich Seite scrollen)
Sollten Sie nur geladen haben, die Bilder auf der aktuellen Seite plus ein oder zwei in jede Richtung. Nur die Bilder laden, wenn Sie Sie benötigen, um einen begrenzten Puffer, und die Bilder entfernen, nachdem Sie verlassen haben, die Puffer. Zum Beispiel, wenn die Bilder 3 und 4 sind auf dem Bildschirm, Bilder 1,2,5, und 6, die geladen werden soll. Wenn der Benutzer scrollt, so dass die Bilder 5 und 6 sind auf dem Bildschirm, wird damit die Bilder 3 und 4 geladen ist, entfernen Sie 1 und 2 aus seinem Speicher, und wird geladen, 7 und 8 zu machen, einen neuen buffer.