Sorry the hassle - sorted it all out the requestExitAndWait() was a
red-herring.
The problem was fixed properly by setting the activity launchMode =
singleTask
Now my app (with all its multiple threads) handles the HOME key and
the back key properly.
I am not sure the GLSurfaceView class as it is currently is designed
to support anything except singleTask mode?
Cheers
Jake
On Oct 24, 2:06 pm, Zorro666 j...@evansturner.co.uk wrote:
Ok - so I have fixed the rendering problems by taking the source to
GLSurfaceView and changing the onPause() function to be like this:
public void onPause() {
synchronized (this) {
mPaused = true;
--- NEW BIT requestExitAndWait();
}
}
So now it ends the GL thread when onPause() is called.
The documentation for GLSurfaceView does say setRenderer() should only
be called once and only once in the life-cycle of a GLSurfaceView
but not obvious how to do that within the Android life-cycle framework
e.g. onCreate(), onStart(), onPause().
I would be welcome for suggestions on how to make a single instance of
GLSurfaceView for the whole life-cycle of my activity including
support for the HOME button which doesn't call onDestroy() but does
call onCreate() repeatedly.
Jake
On Oct 21, 9:12 pm, Zorro666 j...@evansturner.co.uk wrote:
In SDK 1.5
I have a simple GLSurfaceView app which is not working when I use the
home key to pause it. If I use the back key then all is fine (onStop
() and onDestroy() get called). Pressing HOME just calls the onPause()
function.
The problem appears to be the onPause() call is not terminating the
glThread. On successive restarts of the app after pressing the home
key then I get an extra glThread per run. Only the first run of the
app leads to proper rendering.
I have implemented the most basic GLSurfaceView app from here
(changing the clear colour to pink):
http://android-developers.blogspot.com/2009/04/introducing-glsurfacev...
and I get the same problem. If I press the HOME key then restart the
app on the second run the graphics rendering is not active i.e. the
screen stays black instead of pink.
Any suggestions on how to handle the onPause() function properly when
using a GLSurfaceView. I am calling the onPause() function in the
GLSurfaceView member but that isn't enough. It feels like I need to
wait for the render thread to finish or process the pause command or
even force it to exit somehow?
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google
Groups Android Beginners group.
To post to this group, send email to android-beginners@googlegroups.com
To unsubscribe from this group, send email to
android-beginners+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-beginners?hl=en
-~--~~~~--~~--~--~---