Depende del tipo de imágenes que está tratando. Si se trata de imágenes fotográficas, las imágenes JPEG casi siempre serán más pequeñas que PNG, sin pérdida de detalles perceptible como puede ver el ojo humano.
Por el contrario, si se trata de imágenes altamente no fotográficas, como elementos GUI o imágenes con bloques grandes de colores sólidos, PNG y JPEG serán comparables en tamaño, pero el PNG se guardará sin pérdida, mientras que el JPEG ser con pérdidas y tener artefactos muy visibles. Si tiene realmente imagen simple (bloques muy grandes de colores constantes, por ejemplo), entonces un PNG muy probablemente será mucho más pequeño que un JPEG, y nuevamente no tendrá ningún artefacto de compresión.
El hecho de guardar una imagen como PNG o JPEG no debería ocupar mucha memoria transitoria. Cuando una imagen está en la memoria, normalmente se almacena sin comprimir en la memoria para que se pueda dibujar en la pantalla muy rápidamente, en lugar de tener que descomprimirla cada vez que quiera renderizarla. En comparación con el tamaño de la imagen sin comprimir, la cantidad de almacenamiento extra temporal que necesita para comprimir es muy pequeña. Si puede ajustar la imagen sin comprimir en la memoria, no tiene que preocuparse por la memoria utilizada al comprimirla.
Y, por supuesto, una vez que escribe la imagen en el sistema de archivos en un almacenamiento no volátil y libera la imagen en la memoria, no importa cuán grande sea la imagen comprimida, porque no ocupa memoria principal más. El tamaño de la imagen comprimida solo afecta la cantidad de almacenamiento flash que usa, lo que puede ser un problema, pero no afecta la probabilidad de que la aplicación se quede sin memoria.
Eso tiene sentido. Cuando estaba guardando fotos tomadas con el iPhone, ocasionaba un problema extraño, pero cuando usaba imágenes PNG de imágenes vectoriales relativamente simples, no había problemas para trabajar incluso con imágenes bastante grandes. –