Se você realmente precisa de um canal alfa ou precisa usar PNGs, é aconselhável instalar a ferramenta pngcrush em seu servidor da web e fazer com que processe todos os seus PNGs. Em quase todos os outros casos, JPEGs de alta qualidade combinam tamanhos de arquivo menores (ou seja, transmissão mais rápida) com compactação e renderização mais rápidas.
Acontece que PNGs são ótimos para pequenas imagens que você usaria para elementos de IU, mas não são razoáveis para uso em aplicativos de tela inteira, como catálogos ou revistas. Nesse caso, você deve escolher uma qualidade de compressão entre 60 e 80%, dependendo do material de origem.
Em termos de conseguir que tudo seja exibido, você desejará manter as instâncias de UIImage das quais você desenhou uma vez, porque elas contêm uma versão não compactada em cache do arquivo. E onde você não faz uma pausa visual para que uma imagem grande apareça na tela, você terá que forçar a descompressão de algumas imagens com antecedência. Mas tenha em mente que isso vai consumir uma grande quantidade de RAM e se você está exagerando, isso pode fazer com que seu aplicativo seja encerrado. O NSCache é um ótimo lugar para colocar imagens usadas com frequência porque ele automaticamente se encarrega de despejar as imagens quando a RAM se torna escassa.
É uma pena que não temos como saber se uma imagem ainda precisa ser descompactada ou não. Além disso, uma imagem pode ter despejado a versão não compactada sem nos informar sobre esse efeito. Esse pode ser um bom radar para levantar no site de relatórios de bugs da Apple. Mas, felizmente, o acesso à imagem conforme mostrado acima não leva tempo se a imagem já estiver descompactada. Portanto, você pode fazer isso não apenas "na hora certa", mas também "apenas no caso".