En este documento, se describen las prácticas recomendadas para optimizar el consumo de energía en una app de navegación para dispositivos móviles que compiles con el SDK de Navigation. Al mismo tiempo, describe las compensaciones que se deben tener en cuenta cuando se emplean estas prácticas. En particular, este documento abarca lo siguiente:
- Fuentes de alto consumo de energía, clasificadas de mayor a menor.
- Estrategias para optimizar el consumo de energía, en orden de importancia, comenzando por la velocidad de fotogramas.
- Estrategias para usuarios finales para enseñarles a los usuarios de tu app a administrar el uso del dispositivo mientras navegan.
¿Por qué optimizar tu app de navegación?
Según su situación, los usuarios de tu app podrían ejecutar la guía de navegación durante períodos prolongados. Por ejemplo, los conductores y los repartidores pueden trabajar muchas horas y completar tareas en territorios desconocidos. En estos casos, dependen en gran medida de la orientación paso a paso en la app. Esto genera algunos problemas típicos:
- Descarga de la batería y disponibilidad de cargadores El uso intensivo de la navegación puede hacer que las baterías de los dispositivos se agoten más rápido de lo esperado. Si bien muchos usuarios pueden solucionar este problema cargando el dispositivo en el vehículo, los conductores de vehículos de dos ruedas no pueden hacerlo.
- Limitación del dispositivo debido al calor. Incluso los usuarios que cargan el dispositivo de forma continua pueden tener problemas. El consumo de energía alto durante períodos prolongados puede provocar que el dispositivo se caliente, lo que genera un mecanismo de regulación térmica y la consiguiente pérdida de rendimiento.
Las apps de navegación paso a paso dependen de funciones que consumen mucha energía, como la pantalla, el GPS y la comunicación por radio con las torres de telefonía celular, por lo que es una práctica recomendada optimizar el uso de energía de tu app para dispositivos móviles. Además, debes tener en cuenta las necesidades de uso de energía de tu público objetivo para poder realizar las compensaciones adecuadas entre el rendimiento y la optimización del consumo de energía.
¿Qué consume más energía?
En esta sección, se dividen las actividades en la app asociadas con un alto consumo de energía en dos categorías:
- Renderización de pantalla
- Actualizaciones de ubicación
Renderización de pantalla
Por lo general, la renderización de la pantalla es la causa del mayor consumo de energía en las apps de navegación para dispositivos móviles. Cada vez que el dispositivo dibuja un mapa y otros elementos de la IU en la pantalla, se basa en el procesamiento de la GPU y la CPU. Del mismo modo, cuando el usuario deja esa pantalla encendida durante períodos prolongados, también se consume más energía.
En cierta medida, puedes esperar un alto consumo de energía de los conductores o pasajeros que dependen de un mapa visible para navegar, en especial si usan la app de forma continua durante muchas horas. En esta situación, la app también realiza una mayor cantidad de renderización en la pantalla, ya que el mapa se actualiza en tiempo real. En algunos casos, la pantalla puede volver a dibujarse casi continuamente, en especial cuando el usuario conduce de una ubicación a otra sin detenerse.
Actualizaciones de ubicación
Además de la renderización de la pantalla, otras dos actividades de navegación consumen energía del dispositivo:
- Uso de la torre celular de radio y del GPS
- Actualizaciones y uso compartido de la ubicación, por ejemplo, para proporcionar una ETA o informar las posiciones de un vehículo en una flota
Tanto la comunicación por GPS como la radio celular dependen de operaciones de inicio que consumen mucha energía: el GPS debe encontrar satélites y las radios celulares deben negociar con las torres y establecer una conexión. Por estos motivos, se ejecutan de forma continua durante la navegación, aunque las radios celulares permanecen activas durante 20 o 30 segundos en un intento por minimizar los costos de inicio. El sistema operativo controla estos parámetros de configuración, que no puedes establecer fácilmente en tu app.
En el caso de las actualizaciones de ubicación, el uso de energía varía según factores impredecibles. Por ejemplo, la distancia entre el dispositivo y la estación base celular determina el uso de energía, ya que el dispositivo usará la señal mínima necesaria para continuar la navegación y evitar cambiar de torres. Por lo tanto, un dispositivo que navega en un área con conectividad deficiente usará más energía que uno que esté cerca de una estación base. Además, algunas apps pueden compartir actualizaciones de ubicación con un servicio central de administración de flotas y, por lo tanto, deberán comunicarse con un servidor para hacerlo.
Optimiza el uso de energía de tu app
El desafío para optimizar el uso de energía en las apps de navegación es que estas dependen en gran medida de recursos que consumen mucha energía, lo que limita tus opciones para mitigar el impacto sin hacer concesiones, como restringir el uso de la pantalla. En esta sección, se proporciona una lista de enfoques que puedes adoptar para optimizar tu app, ordenados de mayor a menor impacto.
Cómo cambiar la velocidad de fotogramas
La pantalla actualiza lo que muestra con una frecuencia conocida como velocidad de fotogramas. La velocidad de fotogramas suele medirse en fotogramas por segundo (FPS). Dado que la renderización de la pantalla usa mucha CPU o GPU, puedes reducir la velocidad de fotogramas para ahorrar consumo de energía.
La desventaja de reducir la velocidad de fotogramas es que la renderización de la pantalla puede parecer menos fluida, en especial si el mapa se actualiza con frecuencia. Esto puede ser más evidente cuando se acerca el mapa, cuando el usuario viaja a alta velocidad o cuando cambia de velocidad o dirección en gran medida.
Consulta la sección Velocidad de fotogramas en la documentación para desarrolladores del Centro para desarrolladores de contenido multimedia de Android para obtener más información sobre cómo modificar la velocidad de fotogramas.
Cómo navegar sin un mapa
Si bien no puedes controlar cómo el usuario final configura el brillo de la pantalla del dispositivo ni cuánto tiempo la mantiene encendida, puedes proporcionar una opción para obtener indicaciones de navegación sin un mapa. Esto permitiría que el usuario final elija esa opción para ahorrar energía. Por ejemplo, si los conductores trabajan con frecuencia en el mismo vecindario, es posible que no necesiten indicaciones basadas en mapas con tanta frecuencia. Puedes habilitar la navegación sin un mapa configurando un destino y comenzando la guía en el SDK de Navigation, pero sin mostrar un mapa.
Para ocultar la IU de navegación, no agregues un NavigationView o un SupportNavigationFragment. Si ya lo hiciste, quita el código que los agrega. El siguiente código se modificó a partir de la app de demostración para Android del SDK de Navigation y muestra el uso de comentarios para quitar el código que agrega la IU de navegación:
//Obtain a reference to the NavigationFragment
//setContentView(R.layout.activity_nav_fragment);
//mNavFragment = (SupportNavigationFragment) getSupportFragmentManager().findFragmentById(R.id.navigation_fragment);
El SDK de Navigation seguirá actualizando las ubicaciones ajustadas a la ruta, la ETA y la distancia restante del viaje, y tu app podrá seguir suscribiéndose a todos los eventos que genera el SDK a medida que el conductor avance. Esto no es adecuado para todos los casos de uso y, por supuesto, no es un buen consejo en los casos en que el conductor necesita ver el mapa y seguir las indicaciones visuales. En las siguientes capturas de pantalla, se ilustra una comparación en paralelo del cambio de vistas del mapa durante la navegación activa.
![]() |
![]() |
Usar un diseño de mapa oscuro
Considera aplicar un diseño de mapa con un tema oscuro para reducir la cantidad de energía necesaria para renderizar el mapa en la pantalla.
El SDK de Navigation renderiza sus mapas con el SDK de Google Maps para Android, que contiene opciones para diseñar cualquier vista de mapa que no sea de navegación en tu app. La vista de navegación también admite forzar el modo oscuro. Es posible que esto no afecte a todos los dispositivos de la misma manera debido a las diferencias en el tipo de pantalla, pero permite un posible ahorro de energía en algunos casos. Un estudio reciente descubrió que la cantidad de energía que ahorra el modo oscuro en algunas pantallas depende de qué tan brillante sea la pantalla al principio. Por ejemplo, el modo oscuro ahorra más energía en las pantallas configuradas con el brillo al máximo que en las pantallas cuyo brillo ya está ajustado entre el 30% y el 50% del máximo. Esto es importante tener en cuenta cuando usas el modo oscuro en tus apps, ya que el ahorro de energía será relativo a la forma en que el usuario final configure el brillo de la pantalla.
Para obtener más información sobre cómo modificar la IU de Navigation, consulta Cómo modificar la IU de Navigation.

Para crear un diseño oscuro para tu mapa, usa un objeto MapStyleOptions con un diseño JSON que represente tu elección de diseño de mapa oscuro. Los diseños JSON heredados se pueden crear con el editor de diseño heredado en https://mapstyle.withgoogle.com/.
Cómo cambiar la frecuencia de actualización de la ubicación GPS
Cuando consideres el uso de energía de las actualizaciones de ubicación que se envían desde el dispositivo, enfócate más en la frecuencia de las actualizaciones de ubicación que en la cantidad de datos que se envían en la transmisión.
No es algo que puedas controlar directamente en el SDK de Navigation, pero, si tu app para Android solicita la ubicación de forma independiente, deberías tener en cuenta las sugerencias del artículo sobre cómo optimizar la ubicación para la batería en la documentación para desarrolladores de Android. El mismo consejo se aplica al uso de fuentes de ubicación que no son de GPS (celular y Wi-Fi).
Informa a tus usuarios
Es posible que los usuarios de tu app quieran saber cómo optimizar su consumo de energía. Para ayudarlos a reducir el consumo de energía en sus apps, indícales a tus usuarios que hagan lo siguiente:
- Bloquear el teléfono
- Cómo poner la app de navegación en segundo plano
- Usa la navegación sin un mapa si es posible
- Reduce el brillo de la pantalla con el modo oscuro para pantallas OLED y AMOLED, o bien habilita el brillo adaptable.
- Mantén el dispositivo en lugares frescos
- Conéctate a la red Wi-Fi del vehículo si está disponible
Cómo medir el consumo de energía
Puedes usar herramientas de nivel profesional para medir el consumo de energía, pero a menudo es difícil o costoso obtenerlas. Las herramientas de generación de perfiles de IDE y apps, como Power Profiler en Android Studio y el panel Battery Usage en XCode Organizer, miden el consumo de energía, pero puede ser difícil quitar el efecto de los procesos en segundo plano o establecer un valor de referencia del rendimiento para realizar comparaciones. En algunos casos, las restricciones del dispositivo pueden impedir el acceso a los datos necesarios.
Puedes usar hardware de supervisión de energía para fines especiales y modificar la configuración de conexión de la batería. Además, existen productos y servicios comerciales que te ayudan a hacerlo. Ten en cuenta que modificar los dispositivos de esta manera puede anular la garantía.