That happened to me all the time..
I've discovered a strange behaviour. maybe helps. when my activity is on front and phone goes to sleep, activity is paused, stopped, destroyed, a new one is created and it's paused. docs says, if a configuration change happens and activity does not support the change, a new instance is created. this may be the reason. when phone wakes up a third instance is created
onRetainNonConfigurationInstanceLongestMethodNameInTheWorld()-thingy...
hahaha
docs say call of this method is not guaranteed so maybe storing last instance in a static field may be the best.
So most things like Textures, Object3Ds etc. are attributes of the Activity and not of the implementation of GLSurfaceView.Renderer, i assume? Or does it survive the pause and just creates a new gl context?
yes, they are attributes of activity not renderer. i always create a new renderer onCreate() but i believe the last one may be reused. this may be even better since the last one still holds a FrameBuffer