In der Android-Dokumentation heißt es:
Es gibt Situationen, in denen der EGL-Renderingkontext verloren geht. Dies passiert normalerweise, wenn das Gerät nach dem Einschlafen aufwacht. Wenn der EGL-Kontext verloren geht, werden alle OpenGL-Ressourcen (z. B. Texturen), die diesem Kontext zugeordnet sind, automatisch gelöscht. Damit das Rendern korrekt bleibt, muss ein Renderer alle verlorenen Ressourcen neu erstellen, die er noch benötigt. Die Methode onSurfaceCreated (GL10, EGLConfig) bietet sich hierfür an.
Das erneute Laden aller Texturen im OpenGL-Kontext ist jedoch sowohl eine Belastung als auch eine Belastung für den Benutzer, wenn er die App nach einer Pause erneut betritt. Ich weiß, dass "Angry Birds" dies irgendwie vermeidet. Ich suche nach Vorschlägen, wie ich dasselbe erreichen kann.
Ich arbeite mit dem Android NDK r5 (CrystaX-Version). Ich habe diesen möglichen Hack für das Problem gefunden, aber ich versuche zu vermeiden, eine vollständige benutzerdefinierte SDK-Version zu erstellen .