Tweetbot (an excellent, graphically-rich iOS Twitter client) weights 33.4MB, of which over 26MB is used for 978 images. It has all images compressed with Xcode, which converted them to “CgBi” format.
Here are results of converting images back to PNG and optimizing them with ImageOptim and ImageAlpha:
That’s pretty impressive, isn’t it now? The tools used there are
ImageAlpha converts 24-bit PNG to paletted 8-bit with full alpha channel. This greately reduces file sizes with only minor loss of quality…
… Even images that need more than 256 colors can be made more compressible using special alpha-channel-aware posterizer.
ImageOptim optimizes images — so they take up less disk space and load faster — by finding best compression parameters and by removing unnecessary comments and color profiles. It handles PNG, JPEG and GIF animations.
Note that you have to turn off Xcode’s built-in (de)optimization when using these, otherwise you’ll be rather confused as to why your binary isn’t any smaller.
Also don’t forget the transparent JPEGs masking trick we mentioned before, which might be more helpful depending on your images; for even more help with that, check out JPEGmini which general opinion seems to be have got some pretty nifty improvements on standard JPEG compressors!
Check out this Shoebox game graphics utility which includes a “JPGA Bitmap” tool to automatically produce JPEGs with masks!