Я создаю Android приложения с использованием OpenGL ES, и я следующая проблема:onSurfaceChanged вызывается дважды
Когда я свернуть приложение, а затем открыть его, onSurfaceChanged в моем GLSurfaceView.Renderer называется 2 раза.
У меня есть следующий код в onSurfaceChanged (и аналогичный код в onSurfaceCreated, onDrawFrame):
Log.e("onSurfaceChanged",Integer.toString(width)+" "+Integer.toString(height));
Так что я получаю следующий журнал:
onSurfaceCreated onSurfaceChanged 480 800 onDrawFrame onSurfaceChanged 480 800 onDrawFrame onDrawFrame onDrawFrame onDrawFrame onDrawFrame onDrawFrame (...)
Когда я минимизировать изменение ориентации экрана от портрет в альбом, затем снова открыть, onSurfaceChanged называется 3 раза. И бревна:
onSurfaceCreated onSurfaceChanged 480 800 onDrawFrame onSurfaceChanged 480 800 onDrawFrame onDrawFrame onDrawFrame onSurfaceChanged 800 480 onDrawFrame onDrawFrame onDrawFrame onDrawFrame onDrawFrame onDrawFrame (...)
Мой вопрос: это ошибка? В моем приложении или ошибка Android? Есть способ, чтобы onSurfaceChanged вызывается только один раз? (Потому что в onSurfaceCreated я выполнение кода, который замедляет работу приложения)
Заранее спасибо
Отметьте этот ответ - http://stackoverflow.com/a/19067259/2514069. Не такая же проблема, но она близка. –