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