¿Location manager Android? Experiencias – android mysql android-studio

Pregunta:


He desarrollado una aplicación Gps que envía información a Mysql cada 10 seg atraves de locationmanager. ¿Según su experiencia hasta cuanto es posible disminuir este tiempo?

Preguntado por: David Peña

Jorgesys

Interesante pregunta, al usar LocationManager tienes dos variables importantes que son minDistance que es el mínimo intervalo en el cual se obtienen las notificaciones y minTime que es el mínimo intervalo de tiempo para las notificaciones.

Este es un ejemplo, defino lecturas cada 10 minutos (60,000 milisegundos) y cada 10 metros:

locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 60000, 10, this.locationListener);

Como optimizar, depende del requerimiento de tu aplicación, debes tomar en cuenta que si requieres de más muestras, o sea menos distancia y menos tiempo para obtener las lecturas, el consumo de batería es indirectamente proporcional.

Te recomiendo revisar:
Location Strategies. (ingles).

Es importante que ahora implementes FusedLocationProviderApi en lugar de LocationManager, ya que esta clase optimizada para esta tarea y un punto muy importante es que crea un cache donde almacena las lecturas que son usadas por todas las aplicaciones que lo requieran, a diferencia de LocationManager que por cada aplicación se genera un proceso de obtención de localización lo cual es costoso para la aplicación.

bye bye LocationManager

Empece probando con 1 segundo 0 metros, todo iba bien hasta que llevaba 5km el servidor empezó a saturarse y recibía los mensajes tardíamente, cambie luego a 5seg 0 metros y el servidor ha estado estable he recorrido 20km de prueba y no se ha retrasado ninguna muestra.
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 5000, 0, this.locationListener);

Conclusión la velocidad de transferencia suele variar constantemente debido a que el movil se conecta y se desconecta de una antena a otra. Como el lapso de tiempo es tan corto empieza a enviar los mensajes tardíamente.

Fuente

Add a Comment

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *