Deux (ou plusieurs) applications utilisant le GPS partagent-elles le même flux de données de localisation?

9

Lorsqu'une application appelle des données GPS, active-t-elle l'appel GPS lui-même, puis lorsqu'une autre application exécutant simultanément des appels, elle effectue un appel distinct? Ou lorsque la deuxième application accède au GPS obtient-elle les données qui sont déjà là (ou quelque chose de similaire, comme un canal est ouvert dans les deux applications que le système GPS envoie toutes les données à chaque canal lorsque les données sont disponibles)?

Je me demande, car si chaque application ne contrôle le GPS que la moitié du temps, cela pourrait certainement entraîner un GPS moins efficace. Je suppose donc que l'iPhone a été construit dans cet esprit et que les mêmes données GPS seraient disponibles pour chaque application, mais je ne sais pas si c'est ce qui se fait.

Quelqu'un connaît-il le fonctionnement interne du GPS sur iOS?

Jenny Shoars
la source

Réponses:

5

Je vais faire une préface avec, je ne suis pas un développeur IOS, mais je suis sûr que cela fonctionne à peu près comme Android et d'autres API GPS.

Lorsqu'une application appelle les API GPS, elle appelle une abstraction vers le système GPS / Localisation et reçoit les informations de position que le système présente.

Donc, dans ce cas, lorsqu'une application demande au système d'exploitation des données de localisation, le système d'exploitation utilise un mélange de données GPS et Wifi pour déterminer l'emplacement de l'appareil. Si en même temps une autre application demande des données de localisation, le téléphone utilise simplement les données de localisation dont il dispose au lieu d'avoir à rallumer les radios.

hoss
la source
supposons qu'il y ait un paramètre dans le système d'exploitation quelque part, quant à la distance à laquelle ces appels doivent être avant de faire un recalcul
Joop
1
Probablement pas, le système d'exploitation décide de la meilleure action et je pense que ce serait bien caché, mais encore une fois je ne connais pas l'API
hoss
8

Dans iOS, les services de localisation se situent entre toutes les radios de localisation (informations sur la tour cellulaire, wifi le plus proche, GPS) et les applications, et mettent en cache les résultats fusionnés entre l'obtention de nouvelles informations à partir de ces radios à un taux déterminé par le système d'exploitation pour une durée de vie de la batterie décente par rapport à la demande précision. Les applications ne contrôlent ou ne parlent jamais directement au matériel GPS ou au pilote du système d'exploitation. Les informations de localisation qu'une application obtient sont horodatées, de sorte qu'une application peut vérifier s'il s'agit d'anciennes informations ou non.

hotpaw2
la source