android - 在 iOS 和 Android 上,如果两个应用程序都向操作系统请求 GPS 流,电池使用量会加倍吗?

标签 android ios gps location battery

我有一个项目想法,需要在移动时使用 GPS 流。

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

但是我的应用和导航应用都需要 GPS 流,而 GPS 会消耗电池电量。

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

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

那么在这种情况下实际上会发生什么?

最佳答案

在 iOS 上,位置是根据请求的准确度(带有可选的行驶距离过滤器)而不是频率来提供的。

确定位置所消耗的电池电量取决于是否使用 GPS 硬件,而这又取决于所请求的精度。高精度需要使用GPS。使用 WiFi 网络分析和手机信号塔信息等技术可以提供较低的准确度,相应地对能源使用的影响也较小。

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

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

Apple 有一份关于能源效率的指南,其中有一章专门介绍 location and motion

关于android - 在 iOS 和 Android 上,如果两个应用程序都向操作系统请求 GPS 流,电池使用量会加倍吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45666372/

相关文章:

android - 如何创建一个对角线分割的布局,并且两半都是可点击的?

Android:如何向菜单图标(顶部的 3 个点)添加点击监听器?

ios - 如何区分单击手势和双击手势?

GPS 转换 - 像素坐标到 GPS 坐标

java - Android ViewPager2 - 如何检测用户发起的页面更改

java - 选择在应用程序初始化时启动哪个 Activity ?

android - Zendesk SDK与API

ios - 在手势方法中获取节标题单元格

java - 在 Windows PC 上获取经度和纬度

android - 当 GPS 关闭时,lastKnownLocation 始终返回 null