Thanks for your reply. In fact i use a similar render setup than you describe for your approach. The only difference is that i load my stuff in onSurfaceChanged. But i was still not able to pin point the problem. I will try to reduce my render logic as much as i can to nail it down but that didn't help on my last attempts.
Any other insights are most welcome. Thanks Moritz On 7 Feb., 22:38, Robert Green <[email protected]> wrote: > My first guess would be that you are passing a null buffer to a gl > array method. > > What you want to do is: > > Activity.onPause() -> pause your logic thread and call > GLSurfaceView.onPause() > Activity.onResume() -> resume your logic thread and call > GLSurfaceView.onResume() > GLSurfaceView.onSurfaceChanged() -> Set "not loaded" to true > GLSurfaceView.onDraw() > if "not loaded" { > load > "not loaded" = false} > > draw. > > That's how I handle it and I have no issues. I do some "ready-wait" > sync stuff between the renderer and the logic thread so the game logic > always waits for the renderer to be ready to draw before it starts > doing anything important. When I say load, I mean load anything that > goes into VRAM. Textures and Buffer objects are the main things. I > do my loading in onDraw() so that I can show a progress meter and > because it makes it easy to sync stuff that way. > > On Feb 7, 4:54 am, Moritz Post <[email protected]> wrote: > > > Hi folks > > > I am having difficulties with the lifecycle of the opengl context. > > While rendering my scene and the user hits the back button, home > > button or another application opens in front of my application, my app > > is still running in the background. > > > So when my application comes to the foreground later on (user > > relaunches it or the app that was opened on top of it finishes), my > > application crashes and leaves me nothing but a GL stack trace which i > > can't properly decipher. > > > For rendering i use the GLSurfaceView and therefore delegate the > > onPause and onResume. The crash happens on the first call to > > glDrawElements(..). > > > I have tried to reload my resource (geometry/textures etc.) on > > onSurfaceChanged but with or without reloading... The problem > > persists. > > > This behavior can be observed on all AVD versions of the emulator as > > well as on the G1. > > > Here is the gl stacktrace i get. Any help would be greatly > > appreciated. > > > Thanks > > Moritz > > > 02-07 10:33:26.768: INFO/DEBUG(28): *** *** *** *** *** *** *** *** > > *** *** *** *** *** *** *** *** > > 02-07 10:33:26.778: INFO/DEBUG(28): Build fingerprint: 'generic/ > > google_sdk/generic/:2.1/ERD79/22607:eng/test-keys' > > 02-07 10:33:26.778: INFO/DEBUG(28): pid: 403, tid: 410 >>> > > com.comp.app <<< > > 02-07 10:33:26.788: INFO/DEBUG(28): signal 11 (SIGSEGV), fault addr > > 00000000 > > 02-07 10:33:26.788: INFO/DEBUG(28): r0 00001401 r1 0000007e r2 > > 00000000 r3 00001403 > > 02-07 10:33:26.788: INFO/DEBUG(28): r4 0041d6c0 r5 00000000 r6 > > 0000007e r7 0041d6c0 > > 02-07 10:33:26.788: INFO/DEBUG(28): r8 00000000 r9 0000007b 10 > > 00000000 fp 00137d10 > > 02-07 10:33:26.798: INFO/DEBUG(28): ip 00000000 sp 46b3bd48 lr > > acc86014 pc acc850a0 cpsr 80000010 > > 02-07 10:33:27.368: INFO/DEBUG(28): #00 pc 000050a0 /system/ > > lib/egl/libGLES_android.so > > 02-07 10:33:27.378: INFO/DEBUG(28): #01 pc 00006010 /system/ > > lib/egl/libGLES_android.so > > 02-07 10:33:27.388: INFO/DEBUG(28): #02 pc 0000f1f4 /system/ > > lib/libdvm.so > > 02-07 10:33:27.388: INFO/DEBUG(28): code around pc: > > 02-07 10:33:27.388: INFO/DEBUG(28): acc85090 5affffde e8bd87f0 > > e1a05002 e3a0a000 > > 02-07 10:33:27.388: INFO/DEBUG(28): acc850a0 e5d51000 e1a00004 > > ebffff4a e5d51001 > > 02-07 10:33:27.398: INFO/DEBUG(28): acc850b0 e1a06000 e1a00004 > > ebffff46 e5d51002 > > 02-07 10:33:27.398: INFO/DEBUG(28): code around lr: > > 02-07 10:33:27.408: INFO/DEBUG(28): acc86004 e0845105 e1a02008 > > e1a0e00f e595f2c0 > > 02-07 10:33:27.408: INFO/DEBUG(28): acc86014 e8bd81f0 e8bd81f0 > > e597098c e3a01b01 > > 02-07 10:33:27.408: INFO/DEBUG(28): acc86024 e281c008 e150000c > > 1affffe1 eafffff7 > > 02-07 10:33:27.418: INFO/DEBUG(28): stack: > > 02-07 10:33:27.418: INFO/DEBUG(28): 46b3bd08 3f800000 > > 02-07 10:33:27.418: INFO/DEBUG(28): 46b3bd0c 00000000 > > 02-07 10:33:27.418: INFO/DEBUG(28): 46b3bd10 40600000 > > 02-07 10:33:27.428: INFO/DEBUG(28): 46b3bd14 3fc00000 > > 02-07 10:33:27.428: INFO/DEBUG(28): 46b3bd18 41a00000 /dev/ > > ashmem/dalvik-LinearAlloc (deleted) > > 02-07 10:33:27.428: INFO/DEBUG(28): 46b3bd1c 3f800000 > > 02-07 10:33:27.438: INFO/DEBUG(28): 46b3bd20 000000af > > 02-07 10:33:27.448: INFO/DEBUG(28): 46b3bd24 acf08c14 /system/ > > lib/libpixelflinger.so > > 02-07 10:33:27.448: INFO/DEBUG(28): 46b3bd28 0041d6c0 [heap] > > 02-07 10:33:27.448: INFO/DEBUG(28): 46b3bd2c acf091ac /system/ > > lib/libpixelflinger.so > > 02-07 10:33:27.458: INFO/DEBUG(28): 46b3bd30 0041d6c0 [heap] > > 02-07 10:33:27.458: INFO/DEBUG(28): 46b3bd34 acc9b850 /system/ > > lib/egl/libGLES_android.so > > 02-07 10:33:27.458: INFO/DEBUG(28): 46b3bd38 00001100 > > 02-07 10:33:27.468: INFO/DEBUG(28): 46b3bd3c acc9540b /system/ > > lib/egl/libGLES_android.so > > 02-07 10:33:27.468: INFO/DEBUG(28): 46b3bd40 df002777 > > 02-07 10:33:27.468: INFO/DEBUG(28): 46b3bd44 e3a070ad > > 02-07 10:33:27.468: INFO/DEBUG(28): #00 46b3bd48 acc9b008 /system/ > > lib/egl/libGLES_android.so > > 02-07 10:33:27.468: INFO/DEBUG(28): 46b3bd4c acc9b018 /system/ > > lib/egl/libGLES_android.so > > 02-07 10:33:27.468: INFO/DEBUG(28): 46b3bd50 0000007e > > 02-07 10:33:27.468: INFO/DEBUG(28): 46b3bd54 0041d6c0 [heap] > > 02-07 10:33:27.468: INFO/DEBUG(28): 46b3bd58 00000000 > > 02-07 10:33:27.468: INFO/DEBUG(28): 46b3bd5c 42f28e48 > > 02-07 10:33:27.468: INFO/DEBUG(28): 46b3bd60 42f28e30 > > 02-07 10:33:27.478: INFO/DEBUG(28): 46b3bd64 acc86014 /system/ > > lib/egl/libGLES_android.so > > 02-07 10:33:27.478: INFO/DEBUG(28): #01 46b3bd68 46b3bda8 > > 02-07 10:33:27.478: INFO/DEBUG(28): 46b3bd6c 00000000 > > 02-07 10:33:27.478: INFO/DEBUG(28): 46b3bd70 42aadedc /data/ > > dalvik-cache/sys...@framew...@[email protected] > > 02-07 10:33:27.488: INFO/DEBUG(28): 46b3bd74 42f28e58 > > 02-07 10:33:27.488: INFO/DEBUG(28): 46b3bd78 46b3bd88 > > 02-07 10:33:27.488: INFO/DEBUG(28): 46b3bd7c ad00f1f8 /system/ > > lib/libdvm.so > > 02-07 10:33:28.908: DEBUG/Zygote(30): Process 403 terminated by signal > > (11) -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/android-developers?hl=en

