OpenFL decompresses your images because the renderer needs each individual pixel’s RGBA values. You can’t draw a pixel without knowing what color to use! Which means the image needs to be in bitmap (uncompressed) format, with the full 32 bits of information for every single pixel.
Actually… if you really wanted to store the compressed image in memory, you could try decompressing it on a per-pixel basis. But given how many pixels you’re drawing (potentially millions for a fullscreen app), that would be super slow. Better just to do it once and store the results.
Well, it would be slow for most compression schemes. Decompressing an 8-bit color palette is literally just one extra lookup. This is fast enough to render efficiently, and in fact that’s exactly how many old video game consoles worked. I don’t think OpenFL has an option for this, but you could probably do it with a custom shader.
But before getting into that, here’s the important question: do all of your images use the same palette? If not, then palette-based rendering won’t work.