it works. uncompressing takes quite a time as seen in logs, but still gc takes more time.
I/jPCT-AE ( 4510): OpenGL renderer initialized (using 2 texture stages)
D/dalvikvm( 4510): GC freed 74 objects / 349216 bytes in 62ms
I/jPCT-AE ( 4510): Uncompressed 172106 bytes to 1048576 bytes in 131ms!
D/dalvikvm( 4510): GC freed 13 objects / 689080 bytes in 48ms
D/dalvikvm( 4510): GC freed 4 objects / 240 bytes in 57ms
D/dalvikvm( 4510): GC freed 21 objects / 2428640 bytes in 61ms
D/dalvikvm( 4510): GC freed 16 objects / 2097696 bytes in 49ms
D/dalvikvm( 4510): GC freed 3 objects / 362744 bytes in 57ms
I/jPCT-AE ( 4510): Uncompressed 181335 bytes to 1048576 bytes in 202ms!
D/dalvikvm( 4510): GC freed 13 objects / 727120 bytes in 62ms
D/dalvikvm( 4510): GC freed 4 objects / 240 bytes in 57ms
D/dalvikvm( 2168): GC freed 2615 objects / 112712 bytes in 171ms
D/dalvikvm( 4510): GC freed 9 objects / 2503208 bytes in 62ms
D/dalvikvm( 4510): GC freed 15 objects / 2097640 bytes in 61ms
D/dalvikvm( 4510): GC freed 3 objects / 366944 bytes in 57ms
I/jPCT-AE ( 4510): Uncompressed 183437 bytes to 1048576 bytes in 201ms!
D/dalvikvm( 4510): GC freed 13 objects / 735784 bytes in 58ms
D/dalvikvm( 4510): GC freed 4 objects / 240 bytes in 62ms
D/dalvikvm( 4510): GC freed 14 objects / 2520984 bytes in 58ms
D/dalvikvm( 4510): GC freed 10 objects / 2097496 bytes in 57ms
D/dalvikvm( 4510): GC freed 3 objects / 402048 bytes in 58ms
I/jPCT-AE ( 4510): Uncompressed 200990 bytes to 1048576 bytes in 181ms!
D/dalvikvm( 4510): GC freed 13 objects / 806392 bytes in 62ms
D/dalvikvm( 4510): GC freed 4 objects / 240 bytes in 57ms
D/dalvikvm( 4510): GC freed 14 objects / 2661304 bytes in 57ms
D/dalvikvm( 4510): GC freed 10 objects / 2097488 bytes in 59ms
D/dalvikvm( 4510): GC freed 3 objects / 493328 bytes in 59ms
I/jPCT-AE ( 4510): Uncompressed 246627 bytes to 1048576 bytes in 200ms!
D/dalvikvm( 4510): GC freed 13 objects / 988368 bytes in 60ms
D/dalvikvm( 4510): GC freed 4 objects / 240 bytes in 60ms
D/dalvikvm( 4510): GC freed 14 objects / 3025664 bytes in 49ms
I/ActivityManager( 2168): Process com.android.settings (pid 4928) has died.
D/dalvikvm( 4510): GC freed 12 objects / 2359312 bytes in 57ms
I/jPCT-AE ( 4510): Uncompressed 130872 bytes to 1048576 bytes in 109ms!
D/dalvikvm( 4510): GC freed 13 objects / 524744 bytes in 62ms
D/dalvikvm( 4510): GC freed 4 objects / 240 bytes in 57ms
D/dalvikvm( 4510): GC freed 14 objects / 2098760 bytes in 58ms
I/jPCT-AE ( 4510): Uncompressed 4449 bytes to 16384 bytes in 1ms!
I/jPCT-AE ( 4510): Mipmaps generated by the GPU in 0ms
but i couldnt find a proper place to prewarm yet. i've tried something like:
renderer.prewarmTextures = true;
while (renderer.prewarmTextures) {
Log.v(LOG_TAG, "waiting for prewarm complete");
Thread.sleep(500);
}
the thing is, if i do this in ui thread (onCreate() for example), renderer never starts and hence onCreate() never returns. if i do this in a background thread, results are somewhat unstable. for example, if i turn off screen while game is running, Android creates another Activity instance, resumes and pauses it (no kidding, wtf?) so i end up with a background thread that never completes
another thing is, this way initial loading time increased up to 17-18 secs on Nexus One. which may give users the idea that program hanged.
btw, is there a side effect of calling preWarm more than once?