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 compilas 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, en este documento, se abarca lo siguiente:
- Fuentes de consumo de energía alto, clasificadas de la más alta a la más baja.
- Estrategias para optimizar el consumo de energía, en orden de importancia, comenzando por la velocidad de fotogramas.
- Estrategias para usuarios finales para educar a los usuarios de tu app sobre cómo administrar el uso de su dispositivo mientras navegan
¿Por qué optimizar tu app de navegación?
Según su situación, los usuarios de tu app pueden ejecutar la guía de navegación durante períodos prolongados. Por ejemplo, los conductores y los servicios de mensajería pueden trabajar muchas horas y completar tareas en un territorio desconocido. En estos casos, dependen mucho de la orientación paso a paso en la app. Esto genera algunos problemas típicos:
- Agotamiento 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 cargar su 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 su dispositivo de forma continua pueden experimentar problemas. El alto consumo de energía durante períodos prolongados puede hacer que el dispositivo se caliente, lo que genera un mecanismo de regulación térmica y, posteriormente, una 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 se recomienda optimizar el uso de energía de tu app para dispositivos móviles. Además, debes considerar las necesidades de uso de energía de tu público objetivo para que puedas 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
La renderización de la pantalla suele causar el 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, es posible que los conductores o pasajeros que dependen de un mapa visible para navegar tengan un alto consumo de energía, en especial, si usan la app de forma continua durante muchas horas. En esta situación, la app también realiza una mayor velocidad de renderización en la pantalla porque el mapa se actualiza en tiempo real. En algunos casos, la pantalla se puede volver a dibujar casi de forma continua, especialmente 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 de radio celular y el GPS
- Actualizaciones y uso compartido de la ubicación, como para proporcionar una hora de llegada estimada o informar las posiciones de un vehículo en una flota
La comunicación por GPS y por 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, a pesar de que las radios celulares permanecen activas durante 20 a 30 segundos para minimizar los costos de inicio. El sistema operativo controla estos parámetros de configuración, que no puedes configurar fácilmente en tu app.
En el caso de las actualizaciones de ubicación, el consumo de energía varía según factores impredecibles. Por ejemplo, la distancia entre el dispositivo y la estación base celular determina el consumo de energía, ya que el dispositivo usará la señal mínima necesaria para continuar con la navegación y evitar cambiar de torre. Por lo tanto, un dispositivo que navegue en un área con conectividad deficiente consumirá 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 de administración de flotas central y, por lo tanto, deberán comunicarse con un servidor para lograrlo.
Optimiza el uso de energía de tu app
El desafío para optimizar el consumo de energía en las apps de navegación es que estas apps dependen en gran medida de recursos que consumen mucha energía, lo que limita tus opciones para mitigar el impacto sin hacer compensaciones, como restringir el uso de la pantalla. En esta sección, se proporciona una lista de enfoques que puedes adoptar cuando optimices tu app, en orden del más al menos impactante.
Cambia 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). Debido a 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 para mostrar detalles, cuando el usuario viaja a alta velocidad o cuando cambia la velocidad o la dirección en gran medida.
En dispositivos iOS, el SDK de Maps para iOS expone la propiedad preferredFrameRate para controlar la velocidad de fotogramas. En la siguiente tabla, se muestran los valores del enumeradorGMSFrameRate
que puedes ajustar:
|
Usa la velocidad de fotogramas mínima para conservar el uso de batería. |
|
Usa una velocidad de fotogramas media para proporcionar una renderización más fluida y conservar los ciclos de procesamiento. |
|
Usa la velocidad de fotogramas máxima para un dispositivo. Para dispositivos de gama baja, es de 30 FPS, y para dispositivos de gama alta, es de 60 FPS. |
Como referencia, consulta GMSFrameRate en la documentación del SDK de Google Navigation para iOS.
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 de guía 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 la guía basada en mapas con tanta frecuencia. Para habilitar la navegación sin un mapa, puedes configurar un destino y comenzar la guía en el SDK de Navigation, pero no mostrar un mapa.
Agrega una línea de código para ocultar GMSMapView:
mapView.isHidden = true
El SDK de Navigation seguirá actualizando las ubicaciones de ruta, la hora de llegada estimada y la distancia restante del viaje, y tu app aún puede suscribirse a todos los eventos que genera el SDK a medida que el conductor avanza. 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 la guía visual. En las siguientes capturas de pantalla, se ilustra una comparación en paralelo de cómo alternar las vistas del mapa durante la navegación activa.
![]() |
![]() |
Usa un diseño de mapa oscuro
Considera aplicar un diseño al mapa para usar un tema oscuro y reducir la cantidad de energía necesaria para renderizarlo en la pantalla.
El SDK de Navigation renderiza sus mapas con el SDK de Google Maps para iOS, que contiene opciones para aplicar diseño a 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 pantallas configuradas con brillo máximo que en 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 para tus apps, ya que el ahorro de energía dependerá de cómo 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.

El diseño de mapas basado en la nube requiere un ID de mapa que represente una configuración de mapa del servidor que se haya creado en tu proyecto de la consola de Google. Para obtener más información sobre cómo crear un ID de mapa, consulta la documentación para desarrolladores de IDs de mapa. Para obtener más detalles sobre el diseño y la implementación de un estilo de mapa basado en Cloud, consulta la documentación para desarrolladores sobre cómo crear y administrar estilos de mapa basados en Cloud.
Cómo cambiar la frecuencia de actualización de la ubicación GPS
Cuando consideres el consumo 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 en lugar de la cantidad de datos que se envían en la transmisión.
No es algo que puedas controlar directamente en el SDK de Navigation. El mismo consejo se aplica para usar fuentes de ubicación que no sean 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, pídeles que hagan lo siguiente:
- Bloquea 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. Para ello, usa el modo oscuro en pantallas OLED y AMOLED, o habilita el brillo adaptable.
- Mantén el dispositivo fresco
- Conéctate a la red Wi-Fi del vehículo si está disponible
Mide 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 apps y las herramientas de generación de perfiles de IDE, como el generador de perfiles de energía en Android Studio y el panel de uso de batería 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 modelo de referencia de rendimiento para realizar la medición. En algunos casos, las restricciones del dispositivo pueden impedir que se obtenga acceso a los datos necesarios.
Puedes usar hardware de supervisión de energía de propósito especial y modificar la configuración de conexión de la batería. También existen productos y servicios comerciales para ayudarte a hacerlo. Ten en cuenta que modificar los dispositivos de esta manera puede anular la garantía.