С какой платформой вы работаете?
Причина, по которой я спрашиваю, состоит в том, что до Eclair вся эта область была заполнена ошибками, в результате чего приостановка / возобновление OpenGL в основном работала только случайно.Тем не менее, похоже, что они были исправлены Eclair, и наше приложение, похоже, приостанавливается и возобновляет работу довольно надежно.
То, что вы должны сделать, это зарегистрировать обратный вызов для вашего SurfaceHolderтак что вы получите уведомление, когда поверхность появляется и исчезает.В методе surfaceDestroyed () вы полностью выключаете EGL, а затем в своем методе surfaceCreated () вы повторно инициализируете его.Вы не должны делать ничего из методов onCreate () / onResume () вашего Activity, так как поверхность может не появляться и не исчезать одновременно.
Тем не менее, наше приложение было разработано для Cupcake,когда все было довольно примитивно.Я понимаю, что в эти дни есть доступные служебные классы, которые делают всю тяжелую работу за вас, поэтому, если вы используете одну из этих вещей, может работать по-другому;а если нет, вы можете посмотреть на них.