My game is intended to be played in "landscape mode", on a phone rotated 90 degrees left or right.

I'm using:

private Graphics g;
private Graphics saved;
private Image offscreen;
private rotateHow = Sprite.TRANS_ROT90;

private void draw(Graphics g) {
	saved = g;

	if (offscreen != null) {
        	g = offscreen.getGraphics();

	if( g != saved ) {
	        saved.drawRegion (offscreen, 0, 0, SCREEN_X, SCREEN_Y, rotateHow, 0, 0, 0);
The ammount of memory needed to copy screen to a buffer image (and rotate it) depends on color depth and resolution of the screen. It's not a big problem on 16-bit screens, even in 320x240 (SE k800i) - as "only" 500 kilobytes are needed - but the game tends not to work on many 24-bit 320x240 screens (Nokia 6300).

Any suggestions?
Is there a way to decrease color depth?