2 votos

¿Existe un caché GPS común en Android?

Por lo que he entendido sobre la seguridad de Android, todas las aplicaciones están separadas por diferentes cuentas de usuario y diferentes ubicaciones del sistema de archivos.

PERO: Después de GPS-test ha fijado mi ubicación por primera vez después de encender, todas las demás aplicaciones se fija muy rápido. Mi conclusión: Esto tiene que ser algo que no está en el espacio de usuario de Android.

¿Cómo funciona?

4voto

Andy Brudtkuhl Puntos 1714

Si todas las aplicaciones tuvieran que interpretar por sí mismas los datos GPS sin procesar, sería una tontería. Diferentes aplicaciones duplicarían el mismo esfuerzo de descodificación e interpretación de la entrada GPS para calcular una ubicación. Diferentes aplicaciones acabarían utilizando diferentes bibliotecas para hacerlo, por lo que cada aplicación podría terminar con una idea diferente de tu ubicación.

En cambio, el proceso de interpretación de los datos GPS para calcular una ubicación se gestiona de forma centralizada en el propio Android. El sistema Android ofrece una interfaz para que las aplicaciones consulten la ubicación sin tener que preocuparse por los detalles de si procede del GPS, de torres de telefonía móvil o de redes Wi-Fi.

De esta manera, sólo el sistema Android tiene que calcular la ubicación, utilizando cualquier fuente posible, puede dar esta ubicación a muchas aplicaciones sin duplicar esfuerzos, y (como habrás notado) cada aplicación no tiene que empezar desde cero para calcular la ubicación. Las versiones más recientes de Android también hacen trucos inteligentes como dar una ubicación menos precisa a las aplicaciones que tienen el permiso de "ubicación aproximada (basada en red)" pero no el permiso de "ubicación precisa (GPS)", independientemente de qué métodos se utilizaron realmente para determinar la ubicación.

Internamente, esto funciona con lo que se llama un encuadernado servicio del sistema: un mecanismo IPC para que diferentes procesos reciban datos del servicio que realmente calcula la ubicación. El servicio se ejecuta en el espacio de usuario, no dentro del núcleo, y como cualquier otra aplicación de Android se ejecuta dentro de su propio proceso. (Sólo los niveles muy bajos del controlador del receptor GPS se ejecutan dentro del núcleo.) Los detalles de esto están mucho más allá del alcance de este sitio, pero si usted está interesado, usted puede aprender más mediante la lectura de la Página de estrategias de localización en la guía oficial para desarrolladores de Android .

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X