Jeśli absolutnie potrzebujesz kanału alfa lub musisz korzystać z plików PNG, zaleca się zainstalowanie narzędzia pngcrush na serwerze WWW i przetworzenie wszystkich plików PNG. W prawie wszystkich innych przypadkach wysokiej jakości pliki JPEG łączą mniejsze rozmiary plików (tj. Szybszą transmisję) z szybszą kompresją i renderowaniem.
Okazuje się, że pliki PNG świetnie nadają się do małych obrazów, których używałbyś do elementów interfejsu użytkownika, ale nie są rozsądne w przypadku jakichkolwiek aplikacji pełnoekranowych, takich jak katalogi lub czasopisma. Tam chciałbyś wybrać jakość kompresji między 60 a 80% w zależności od materiału źródłowego.
Jeśli chodzi o wyświetlenie tego wszystkiego, będziesz chciał zawiesić się na instancjach UIImage, z których raz narysowałeś, ponieważ mają one buforowaną nieskompresowaną wersję pliku w nich. A jeśli nie masz wizualnej przerwy na pojawienie się dużego obrazu na ekranie, będziesz musiał wcześniej wymusić dekompresję dla kilku obrazów. Pamiętaj jednak, że będą one wymagały dużej ilości pamięci RAM, a jeśli przesadzisz, może to spowodować zamknięcie aplikacji. NSCache to świetne miejsce do umieszczania często używanych obrazów, ponieważ automatycznie usuwa obrazy, gdy brakuje pamięci RAM.
Szkoda, że nie mamy żadnego sposobu, aby dowiedzieć się, czy obraz nadal wymaga dekompresji, czy nie. Obraz mógł również usunąć nieskompresowaną wersję bez informowania nas o tym. To może być dobry radar do zebrania w witrynie zgłaszania błędów firmy Apple. Ale na szczęście dostęp do obrazu, jak pokazano powyżej, nie zajmuje czasu, jeśli obraz jest już zdekompresowany. Możesz więc zrobić to nie tylko „na czas”, ale także „na wszelki wypadek”.