Czy dwie (lub więcej) aplikacje korzystające z GPS współużytkują ten sam strumień danych o lokalizacji?

9

Kiedy aplikacja wzywa do danych GPS, czy sama aktywuje połączenie GPS, a kiedy inna aplikacja jednocześnie uruchamia połączenie, wykonuje osobne połączenie? Lub kiedy druga aplikacja uzyskuje dostęp do GPS, czy pobiera dane, które już tam są (lub coś podobnego, na przykład, że kanał jest otwierany w obu aplikacjach, które system GPS wysyła wszystkie dane do każdego kanału, gdy dane są dostępne)?

Zastanawiam się, ponieważ jeśli każda aplikacja przejmie kontrolę nad GPS tylko w połowie czasu, z pewnością może to skutkować mniej skutecznym GPS. Zgaduję więc, że iPhone został zbudowany z myślą o tym i dla każdej aplikacji będą dostępne te same dane GPS, ale nie wiem, czy tak się dzieje.

Czy ktoś zna wewnętrzne działanie GPS na iOS?

Jenny Shoars
źródło

Odpowiedzi:

5

Przedmówię to: nie jestem programistą IOS, ale jestem pewien, że działa tak samo jak Android i inne interfejsy API GPS.

Gdy aplikacja wywołuje interfejsy API GPS, wywołuje abstrakcję do systemu GPS / lokalizacji i odbiera informacje o pozycji prezentowane przez system.

Tak więc w tym przypadku, gdy jedna aplikacja pyta system operacyjny o dane lokalizacji, system operacyjny wykorzystuje połączenie danych GPS i Wi-Fi do ustalenia lokalizacji urządzenia. Jeśli w tym samym czasie inna aplikacja zażąda danych o lokalizacji, telefon po prostu użyje danych o lokalizacji, zamiast ponownie włączać radia.

hoss
źródło
przypuśćmy, że gdzieś będzie OS w ustawieniu, jak blisko muszą być te połączenia przed ponownym przekalkulowaniem
Joop
1
Prawdopodobnie nie, system operacyjny decyduje o najlepszej akcji i domyślam się, że byłby dobrze ukryty, ale znowu nie znam API
hoss
8

W iOS usługi lokalizacyjne znajdują się między wszystkimi radiotelefonami lokalizacyjnymi (informacje o wieży komórkowej, najbliższe Wi-Fi, GPS) a aplikacjami i buforują połączone wyniki między uzyskiwaniem nowych informacji z tych radiotelefonów w tempie określonym przez system operacyjny dla przyzwoitego czasu pracy baterii w porównaniu do żądanego precyzja. Aplikacje nigdy nie „kontrolują” ani nie rozmawiają bezpośrednio ze sprzętem GPS lub sterownikiem systemu operacyjnego. Informacje o lokalizacji, które otrzymuje aplikacja, są oznaczone datą, więc aplikacja może sprawdzić, czy są to stare informacje, czy nie.

hotpaw2
źródło