Uso de la batería, ¿qué esperar?

Estoy haciendo un juego 2D para Android, y recientemente he estado buscando optimización.

Miré el uso de la batería en Configuración y encontré que después de dejar mi juego en primer plano (con la pantalla encendida) durante un poco más de una hora, había drenado el 11% de la batería (Motorola Xoom Honeycomb).

¿Es esto algo que los usuarios deben esperar de un juego en su teléfono / tablet?

Un poco de información:

  • Mi juego utiliza Opengl-es para renderizado (render continuo)

  • La lógica se ejecuta en un hilo separado para el rendimiento.

  • Utilicé getWindow (). AddFlags (WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); Pensaba que era necesario ya que el juego requiere un poco de tiempo de reflexión del usuario.

  • Partículas simples

Entonces, ¿es normal ese tipo de consumo de batería para un juego?

¿Y qué pasos puedo tomar para reducir el consumo de la batería?

Dejar la pantalla solo (sin que el juego se ejecute) generará un uso similar de la batería.

Mi consejo para usted sería fijar la pantalla para atenuar cada vez que hay una pausa en su juego, o si el usuario no ha tocado la pantalla en X cantidad de tiempo como se oponen a dejarlo encendido con el brillo completo.

Puede hacer esto ajustando screenBrightness / buttonBrightness,

El rango de estos campos es 0-> 1

Usted puede ver el contexto de fijar esto aquí

La respuesta de Justin es buena, pero no olvide algunos conceptos básicos de la vieja escuela.

Tener su programa de espera ocupado también agotará la batería. Usted debe utilizar la CPU para avanzar el juego, pero no hay necesidad de tener ocupado esperar. Asegúrese de poner su proceso a dormir durante el tiempo estimado hasta la siguiente iteración del ciclo de procesamiento del juego.

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.