使用GPS的两个(或多个)应用程序是否共享相同的位置数据流?


9

当一个应用程序要求GPS数据时,它是否会激活GPS呼叫本身,然后在同时运行另一个应用程序的同时进行呼叫吗?还是当第二个应用程序访问GPS时,它是否获得了已经存在的数据(或类似的东西,例如在两个应用程序中都打开了一个通道,当数据可用时,GPS系统会将所有数据发送到每个通道)?

我想知道,因为如果每个应用程序仅获得GPS一半时间的控制权,那肯定会导致GPS效率降低。因此,我猜想iPhone是在考虑这一点的基础上构建的,并且每个应用程序都可以使用相同的GPS数据,但是我不知道这是在做什么。

有人知道iOS上GPS的内部运作方式吗?

Answers:


5

我不是iOS开发人员,但我确信它的工作原理与Android和其他GPS API相同。

当应用程序调用GPS API时,它正在调用GPS / Location系统的抽象,并接收系统提供的位置信息。

因此,在这种情况下,当一个应用程序向操作系统询问位置数据时,该操作系统将使用GPS和Wifi数据的混合来确定设备的位置。如果同时另一个应用程序请求位置数据,则电话将仅使用其拥有的位置数据,而不必再次打开无线电。


假设操作系统中的某处会有设置,但是关于重新计算之前这些调用所需的距离
Joop,

1
可能不是,操作系统决定了最佳操作,我想它会被很好地隐藏起来,但是我也不知道API
hoss 2013年

8

在iOS中,位置服务位于所有位置无线电(蜂窝塔信息,最近的wifi,GPS)和应用之间,并缓存以操作系统确定的相对于所请求的电池寿命与请求的速率从这些无线电获取新信息之间的融合结果。准确性。应用程序永远不会“控制”或直接与GPS硬件或OS驱动程序对话。应用获取的位置信息带有时间戳记,因此应用可以检查其是否为旧信息。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.