Получение приложения для Android для сохранения его контекста OpenGL после нажатия кнопки "Домой"
Сначала немного контекста: я разрабатываю видеоигры для платформ Android и iPhone. То, как работает iPhone, когда пользователь нажимает кнопку "Домой" и позже возвращается в игру, в большинстве случаев игра будет брать ПРАВИЛЬНО, где она остановилась без сбоев. Я немедленно возвращаюсь в свой рендеринг и игровой цикл. Настроить это на платформе iOS было абсолютно легко для меня. Выполнение этого на Android привело меня в бешенство после нескольких часов борьбы с результатами Google:P
У меня есть свои собственные настройки OpenGL для iPhone и Android, и все работает отлично. Я считаю, что корень проблемы в том, что мне нужен SurfaceHolder для создания контекста OpenGL. Вот забавная часть, когда экран теряет фокус игры (то есть нажатие кнопки "Домой"), Android вызывает surfaceDestroyed в моем классе SurfaceView и в основном УБИВАЕТ мой контекст opengl. Я мог бы воссоздать новый с новым SurfaceHolder, когда вызывается SurfaceCreated, но затем мне нужно перезагрузить все мои художественные активы, что противоречит цели всего, что я пытаюсь достичь.
Могу ли я как-то предотвратить, чтобы ОС Android убила моего поверхностного держателя, есть ли какой-то особый вид, который я могу использовать, чтобы заставить это работать? Есть ли какая-то настройка в Манифесте, которая может помочь мне здесь (я сомневаюсь в этом, поскольку я тщательно протестировал большинство флагов)? Я знаю, что это возможно, потому что Angry Birds делает это отлично на ОС Android.