Почему моя активность перезапускается после уничтожения SurfaceView?

#android #android-activity #surfaceview

#Android #android-активность #surfaceview

Вопрос:

Я использую a SurfaceView , который реализует SurfaceHolder.Callback и использует setContentView() в моем основном Activity .

Теперь SurfaceView он уничтожается после того, как я выключаю экран или выхожу из приложения, но когда я снова включаю экран и разблокирую телефон или повторно открываю приложение, мой Activity перезапускается полностью, устанавливая представление содержимого на новый экземпляр my SurfaceView .

Я использую SurfaceView для рисования свою игру, и мне не нравится, что моя игра должна полностью перезапускаться после простого выключения экрана и его повторного включения или после повторного открытия приложения. Я бы предпочел, чтобы моя игра продолжалась с того места, где она остановилась.

Есть ли лучшая структура игрового цикла, которая позволит моей игре продолжить с того места, где она остановилась, а не перезапускать? Я делаю что-то не так?

Комментарии:

1. Используете ли вы метод onResume () для настройки surfaceview и других вещей?

2. Ваш onResume() будет вызван, когда вы снова вернетесь к своему приложению.

3. Хм, хорошо, спасибо, я попробую это.

4. Окей! Реализуйте это и дайте мне знать, каков будет результат.

5. Взгляните на структуру Android Breakout ( code.google.com/p/android-breakout ) для примера того, как сделать паузу и возобновить чисто. (Он использует GLSurfaceView, но это не слишком отличается.)