Как упомянуто в комментарии выше, также возможно избежать разрушения контекста GL более ранних выпусков Android (1.x, 2.x), решение состоит в том, чтобы скопировать GLSurfaceView из исходного кода Android-15 SDK, изменить его пакет имя, а затем используйте свою собственную копию GlSurfaceView.
Он должен работать для устройств, которые поддерживают несколько контекстов GL (за исключением чипов Adreno, на данный момент), независимо от версии Android. Предостережение заключается в том, что GLSurfaceView из Android-15 содержит только необходимый материал для работы с Android-15, наша версия должна обрабатывать все версии ОС.
Мы используем нашу собственную реализацию GlSurfaceView, основанную на копии из ReplicaIsland, где Крисс Пруит также использовал свою собственную реализацию.
В нашей версии мы добавили setPreserveEGLContextOnPause из SDK-15, который позволяет сохранить контекст GL, например, на нексусе под управлением Android 2.3.
Мы также изменили другие элементы в соответствии с нашими потребностями, что не относится к этому вопросу (например, 32-разрядный рендеринг на телефонах, которые его поддерживают, в противном случае 16-разрядный).
Наш GlSurfaceView: http://pastebin.com/U4x5JjAr
Вот оригинальная SDK-15 версия GlSurfaceView, отформатированная в том же стиле (Android), что и выше http://pastebin.com/hziRmB3E (чтобы было легко сравнивать и видеть изменения)
Не забудьте включить сохранение контекста, позвонив по номеру:
glSurfaceView.setPreserveEGLContextOnPause(true);