Hi Hans,
I wouldn't suggest OpenGL for this purpose, since based on my tests, for simple 2D rendering, the direct Surface drawing is much faster.
You can pass the pixel data through Java NIO to the Java layer for painting, which performs very well compared to ByteArray approach.
The Java Bitmap itself does some memory copying, and even color space conversions, so if you have your pixel data in RGB565 color space you can prevent these steps as well. When I did a few tests on a Motorola Droid, I was able to achieve 230 fps with VGA using RGB565 color space. Using ARGB 16bit about 82 fps, and ARGB 32 bit about 140 fps.
There are few other ways, but these are the only options available through the public API.
Regards,
-onur
---
www.zdo.com