Использование батареи, чего ожидать?

Я делаю 2D-игру для Android, и я недавно смотрел на оптимизацию.

Я посмотрел на использование батареи в настройках и обнаружил, что после выхода из игры на переднем плане (с включенным экраном) чуть больше часа я разрядил 11% батареи (Motorola Xoom Honeycomb).

Это то, что пользователи должны ожидать от игры на своем телефоне / планшете?

Немного информации:

  • В моей игре используются Opengl-es для рендеринга (непрерывный рендер)

  • Логика работает в отдельном потоке для производительности.

  • Я использовал getWindow (). AddFlags (WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); Думал, что это необходимо, поскольку игра требует от пользователя немного времени на размышления.

  • Простые частицы

Итак, это обычное заряд батареи для игры?

И какие шаги я могу предпринять, чтобы уменьшить потребление батареи?

Solutions Collecting From Web of "Использование батареи, чего ожидать?"

Оставляя экран наедине (без игры), он будет генерировать аналогичное использование батареи.

Моим советом для вас было бы настроить экран на «Тусклый» всякий раз, когда в вашей игре будет пауза, или если пользователь не коснулся экрана в течение X минут, чтобы противостоять его включению при полной яркости.

Вы можете сделать это, отрегулировав параметр ScreenBrightness / buttonBrightness,

Диапазон этих полей равен 0-> 1

Вы можете увидеть контекст настройки здесь

Ответ Джастина хорош, но не забывайте об основах старой школы.

Когда ваша оживленная программа оживит, батарея тоже разрядится. Вы должны использовать CPU для продвижения игры, но нет необходимости ждать ее ожидание. Убедитесь, что ваш процесс спал в течение расчетного времени до следующей итерации цикла обработки игры.