Каков наилучший способ правильно обрабатывать приостанавливаемые/возобновляемые действия при использовании класса AndroidGameView
?
Всякий раз, когда действие приостанавливается, все текстуры OpenGL очищаются, требуя их перезагрузки представлением. Похоже, что класс GLSurfaceView
(ссылка) имеет соответствующий механизм для правильного обрабатывать эти события. (Путем переопределения onResume
.)
Как это должно работать с AndroidGameView
(ссылка) класс? (Разве представление игры Android просто не поддерживает это?) Похоже, что у класса есть соответствующие хуки (в частности, Resume
). Однако, когда вызывается Resume
, GraphicsContext
еще не установлено.
Во время вызова Resume
MakeCurrent()
выдает исключение:
System.InvalidOperationException: Operation requires a GraphicsContext, which hasn't been created yet.
Если я поставлю вызов CreateFrameBuffer
перед MakeCurrent()
, вы получите аналогичную ошибку:
Java.Lang.IllegalArgumentException: Make sure the SurfaceView or associated SurfaceHolder has a valid Surface
Когда следует загружать/перезагружать какие-либо специфичные для игры текстуры в ответ на обратный вызов Activity OnResume
при использовании AndroidGameView
?