java - How to do clean up in native heap when opengl context lost in GLSurfaceview in Android? -


i'm making wrapper native 3d engine. , used glsurfaceview establish egl context engine.

the problem that, when glsurfaceview lose egl context (onpause, etc), wanna free memory engine used. however, there seems no way safely.

i've try override function onpause in glsurfaceview below:

@override public void onpause(){ engine.release(); super.onpause(); } 

however, cause memory problem.

04-06 21:33:40.415: e/libegl(8249): call opengl es api no current context (logged once per thread)
04-06 21:33:40.425: a/libc(8249): fatal signal 11 (sigsegv) @ 0x00000000 (code=1)

it might due memory freed renderer thread still running.

i think best way clean free memory in renderer thread before ends. don't know how implements it.

could me?

glsurfaceview own egl context management. takes responsibility creating it, destroying it, , ensuring it's current on renderer thread when ondrawframe() called.

if not want, should use plain surfaceview instead, , issue various egl calls yourself.


Comments

Popular posts from this blog

PHPMotion implementation - URL based videos (Hosted on separate location) -

javascript - Using Windows Media Player as video fallback for video tag -

c# - Unity IoC Lifetime per HttpRequest for UserStore -