If I take the minimal application (GapiDraw 2.05eval), and add one line to CMyApplication to allocate an array:
int array[240 * 240];
then when I launch the application, it locks the device before the splash screen is displayed.
If I drop it down to this amount:
char array[240 * 240];
then I get an actual dialogue which says illegal exception, and the device does not hang.
If I drop it down to this amount:
char array[240 * 210];
Then it works fine.
If I increase it to this amount:
char array[240 * 225];
Then I get the spinning wait cursor, for half a minute before I lose patience and reset the device.
So I assume I'm running out of memory. Yet 240 * 240 * 1 byte is only 56KB, which doesn't seem like a lot. Wouldn't surfaces take up 240 * 320 * 2 bytes which is even more?
Does anyone else see this behaviour? Can they allocate a 240x240 array of chars? ints? I'm using a release build for iPAQ 3970.