Wenn Sie unbedingt einen Alpha-Kanal benötigen oder mit PNGs arbeiten müssen, ist es ratsam, das Tool pngcrush auf Ihrem Webserver zu installieren und alle Ihre PNGs verarbeiten zu lassen. In fast allen anderen Fällen kombinieren hochwertige JPEGs kleinere Dateigrößen (dh eine schnellere Übertragung) mit einer schnelleren Komprimierung und Wiedergabe.
Es stellt sich heraus, dass PNGs ideal für kleine Bilder sind, die Sie für UI-Elemente verwenden würden, aber für Vollbildanwendungen wie Kataloge oder Magazine nicht sinnvoll sind. Dort möchten Sie je nach Ausgangsmaterial eine Komprimierungsqualität zwischen 60 und 80% wählen.
Um alles anzuzeigen, sollten Sie sich an UIImage-Instanzen halten, aus denen Sie einmal gezeichnet haben, da diese eine zwischengespeicherte unkomprimierte Version der Datei enthalten. Und wenn Sie nicht die visuelle Pause haben, damit ein großes Bild auf dem Bildschirm angezeigt wird, müssen Sie die Dekomprimierung für einige Bilder im Voraus erzwingen. Beachten Sie jedoch, dass diese viel RAM benötigen. Wenn Sie dies übertreiben, wird Ihre App möglicherweise beendet. NSCache ist ein großartiger Ort, um häufig verwendete Bilder zu platzieren, da dadurch automatisch die Bilder entfernt werden, wenn der Arbeitsspeicher knapp wird.
Es ist bedauerlich, dass wir nicht wissen können, ob ein Bild noch dekomprimiert werden muss oder nicht. Auch ein Bild könnte die unkomprimierte Version entfernt haben, ohne uns darüber zu informieren. Das könnte ein gutes Radar sein, das Sie auf Apples Website zur Fehlerberichterstattung ansprechen können. Glücklicherweise dauert der Zugriff auf das Bild wie oben gezeigt keine Zeit, wenn das Bild bereits dekomprimiert ist. Sie können dies also nicht nur "just in time", sondern auch "just in case" tun.