If you already have a vector format from your artist this sounds like a good idea. I've been working with SVGs for quite some time and it can be quite tricky to work with them. Especially when exporting from Illustrator after converting images e.g. from Flash. We had to re-work many of the images because we got transparent outlines at the borders of the sub-shapes.
We've also spent quite some time after we found Illustrator embedding pixel data for gradients and such things.
Another problem is usually that not all of SVG is implemented in the renderers. From SVGgh: "Right now, it only implements the portions of the specification I needed or thought I might need."
You could also stay with pixel data - I see other options for saving memory:
- WEBP - it's like a mixture of PNG + JPG - you can set it to lossless or lossy if you want. The loader code for the format is easy to add and open source.
- 8 bit / indexed PNGs are also a great method - with PngQuant's compression you get quite impressive results.
I've created a sprite sheet with 2039x1743 and tested several of the formats:
png 8bit = 0.8 MB
webp: quality=60 = 0.8 MB
webp: quality=100 = 1,4 MB
pvr-gz, RGBA4444 = 1.7MB
pvr-gz, RGBA8888 = 2.1MB
png 32bit = 2.9MB
So what I can see from here is that there is quite some room for optimization.
Another option would be only storing the graphics for the devices with the highest resolution and resize the images for the smaller devices on the fly. You could even save them in the temp folder for faster loading.