Два (или более) приложения, использующие GPS, используют один и тот же поток данных о местоположении?


9

Когда приложение запрашивает данные GPS, оно активирует сам вызов GPS, а затем, когда другое приложение одновременно выполняет вызовы, оно выполняет отдельный вызов? Или когда второе приложение обращается к GPS, оно получает данные, которые уже есть (или что-то похожее, например, канал открывается в обоих приложениях, когда система GPS отправляет все данные на каждый канал, когда данные доступны)?

Мне интересно, потому что, если каждое приложение получает контроль над GPS только половину времени, это, безусловно, может привести к снижению эффективности GPS. Поэтому я предполагаю, что iPhone был сконструирован с учетом этого, и одни и те же данные GPS будут доступны для каждого приложения, но я не знаю, так ли это делается.

Кто-нибудь знает внутреннюю работу GPS на iOS?

Ответы:


5

Я предвожу это, я не разработчик IOS, но я уверен, что он работает так же, как Android и другие GPS API.

Когда приложение вызывает API-интерфейсы GPS, оно вызывает абстракцию для системы GPS / определения местоположения и получает информацию о местоположении, которую представляет система.

Таким образом, в этом случае, когда одно приложение запрашивает у ОС данные о местоположении, ОС использует сочетание данных GPS и Wi-Fi для определения местоположения устройства. Если в то же время другое приложение запрашивает данные о местоположении, телефон просто использует данные о местоположении, вместо того чтобы снова включать радиоприемники.


предположим, что где-то в ОС будет настройка, касающаяся того, насколько близки эти вызовы, прежде чем делать повторный вызов
Joop

1
Наверное, нет, ОС выбирает лучшее действие, и я думаю, оно будет хорошо спрятано, но опять же я не знаю API
hoss

8

В iOS службы определения местоположения располагаются между всеми радиостанциями определения местоположения (информация о сотовой вышке, ближайший Wi-Fi, GPS) и приложениями и кэшируют объединенные результаты между получением новой информации с этих радиостанций со скоростью, определяемой ОС, для обеспечения достойного времени автономной работы по сравнению с запрошенным точность. Приложения никогда не «контролируют» и не общаются напрямую с оборудованием GPS или драйвером ОС. Информация о местоположении, которую получает приложение, имеет временную отметку, поэтому приложение может проверить, является ли оно старой информацией или нет.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.