2017-08-14 39 views
0

我有一个项目的想法,移动时需要一个GPS流。在iOS和Android上,如果两个应用程序都从操作系统请求GPS流,电池使用量是否会翻倍?

我假设由于其本质,用户通常会同时使用它和一些导航或地图应用程序。

但我的应用程序和导航应用程序都需要GPS流,GPS已知会消耗电池电量。

我想知道操作系统是否足够智能,只查询一次GPS,并将相同的数据发送到这两个应用程序。

即使操作系统足够智能,两个应用程序可能会以不兼容的频率请求GPS数据,并且我认为操作系统无法缓解。

那么究竟发生在这种情况下呢?

+1

我试着问这个问题,iOS和Android,但不同版本的系统,说他们是重复的,并拒绝具体章节,即使更换了操作系统名称。这意味着可能难以接受最佳答案) - : – hippietrail

回答

1

对于android,单独的应用程序可以请求并侦听位置更新。 应用程序可能会获取其他应用程序先前请求的最后一个位置。 如果更新太旧,它会自行请求新的位置。

即使OS足够聪明,这两个应用程序可能会要求在不兼容的频率的GPS数据,我以为那么操作系统就没有办法来缓解。

在这种情况下(例如2个应用以10分钟间隔请求,相隔5分钟)。该设备将每隔5分钟请求一次位置。

在每个请求之间还存在硬件强制的最小时间间隔(例如,对于某些设备每5秒一次)。

看一看位置策略为Android https://developer.android.com/guide/topics/location/strategies.html

enter image description here

1

在iOS上,位置是基于请求精度(与行驶距离可选的过滤器)交付,而不是频率

确定位置所消耗的电池电量取决于是否使用GPS硬件,而且这也是由请求的精度确定的。高精度需要使用GPS。使用诸如WiFi网络分析和蜂窝塔信息之类的技术可以提供较低的准确度,并且相应地对能量使用的影响较小。

由于只有一个GPS接收器,如果这是由一个应用程序打开,那么其他应用程序也将获得更准确(通常更频繁)的位置更新。相应地,如果应用程序请求后台位置更新,则相应地,能源使用会有少量增加,因为CPU周期将用于提供更新,因此这通常比GPS芯片本身使用的能源影响小。

主要能源影响来自打开接收器,而不是提供位置更新。

苹果对能源效率的指南,对location and motion

相关问题