跟踪位置时,启用Wi-Fi会消耗更多或更少的电池吗?

时间:2016-07-07 16:14:43

标签: android ios gps wifi

我有一个移动应用程序(iOS和Android),每隔15秒对该位置进行一次ping操作,并在城市地区使用。

从我的理解

  • 如果停用Wi-Fi,应用程序将仅使用GPS进行定位
  • 如果启用了Wi-Fi,应用会使用Wi-Fi和GPS混合使用,或只使用Wi-Fi

一般情况下,Wi-Fi会消耗更多电量但是如果你跟踪位置那么它可能实际上可以节省电池,因为GPS比Wi-Fi更耗电(我认为!)

如果启用(但不连接)Wi-Fi对电池寿命有好处还是更差,是否有人有数据?

5 个答案:

答案 0 :(得分:2)

启用WiFi应该有利于电池寿命,但这完全取决于应用程序的编码方式。如果您查看Android's page on Location Strategies,它会说:' GPS,Cell-ID和Wi-Fi都可以为用户提供线索位置。确定使用和信任哪个是在准确性,速度和电池效率方面的权衡问题。'

可以从WiFi获取位置(是的,未连接!):

netLocation = locationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);

但这可能不是最准确的解决方案。 GPS使用相当大的功率,但显然比WiFi更准确,搜索未连接的WiFi热点也需要电源。换句话说,这是一个非常复杂的问题。

总而言之,最好的解决方案(避免花费所有时间编写此位置信息)只是将Google Play服务集成到您的应用中。然后,您可以指定查找位置的优先级(功率或准确度),Google会为您排序(请查看this或官方Google文档here)。

protected void createLocationRequest() {
mLocationRequest = new LocationRequest();
mLocationRequest.setInterval(15000);
mLocationRequest.setFastestInterval(5000);
mLocationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
}

protected void startLocationUpdates() {
LocationServices.FusedLocationApi.requestLocationUpdates(
    mGoogleApiClient, mLocationRequest, this);
}

@Override
public void onLocationChanged(Location location) {
    mLastLocation = location;   
}

其他优先事项是PRIORITY_BALANCED_POWER_ACCURACY,PRIORITY_LOW_POWER,PRIORITY_NO_POWER。

但是,回到这个问题。如果我们再次查看Android's page on Location Strategies并向下滚动,则会显示:'根据您使用应用程序的环境或所需的准确度,您可以选择仅使用网络位置提供程序或仅使用GPS而不是两者。仅与其中一项服务进行交互可能会降低电池使用量,从而导致准确的成本。'

由此,我们可以得出使用WiFi和GPS提供比仅使用一个更准确的位置,但仅使用一个使用比使用两者更少的功率。但是,这取决于环境。由于您的应用程序专为在城市环境中使用而设计,因此通常更难获取GPS信号(由于建筑物)。但是,仅通过WiFi获取位置并不是一直有效(即使在城市环境中)。但是,对于您的应用,由于它在城市环境中使用,我相信使用 WiFi和GPS将是最省电的选项,因为有时GPS可能无法使用或将需要很长时间才能连接(在城市环境中)。请记住,在城市环境中,人们可能会失去GPS(例如,他们会进入商店或进入非常狭窄的小巷)。但是,如果你有WiFi,你仍然希望能够拥有自己的位置。另一个可能的选择是尝试仅在首先使用WiFi获取其位置,然后仅在您无法使用WiFi获取其位置时尝试GPS。但这取决于您需要准确的位置。总而言之,只需将其留给Google(如上所示)。

在回答您的问题时,这取决于您是如何找到用户的位置的。我已经建议了如何编写您的应用,但如果您想保留原样,请发布或评论您正在使用的代码找到用户的位置,以便确定哪个选项是效率更高。

编辑:我已经看到这是关于iOS和Android的。 iOS提供的对位置确定方式的控制要少得多。您只需插入所需的准确度,Apple即可完成其余工作。 Apple将确定获得该位置的最节能方式,并且我上面写的相同内容也适用。无论如何,Apple会提示用户在获取位置时禁用WiFi,因此尝试阻止在iOS上使用WiFi进行定位几乎是不可能的。

答案 1 :(得分:0)

与WiFi相比,GPS功耗非常高。大多数手机在GPS上持续时间不到10小时,而使用WiFi则可以持续超过一天。

答案 2 :(得分:0)

WiFi不仅适用于位置或互联网,还有多种用途, 如果您使用的是旧的操作系统而不是棉花糖,则无法在启用时禁用所有功能。

来自Marshmallow的

您可以为特定用途启用它,例如仅限位置。 因此它将消耗比GPS更少的功率。

虽然在先前版本中,GPS处于功耗状态。 https://android.stackexchange.com/a/127571/116948

答案 3 :(得分:0)

我没有关于这个主题的任何核心数据,并且怀疑任何人都会有任何具体数字,但理论上Wi-Fi将远远优于GPS。该理论的工作原理如下:为了让GPS知道某人在哪里,它需要从已知位置的3个不同物体接收信息,并使用三角测量从中找出其位置,而wifi只需要制作一个呼叫,到最近的互联网中继器,它具有已知的位置和已知的路径。为了确保准确性,每次定位请求通常会多次完成。因此,额外的呼叫加起来,Wifi将更有效。

答案 4 :(得分:0)

每当您有权访问网络时使用WiFi,因为它使用的电池数量少于GPS。 (更短的距离,更低的功率。)当您无法访问网络时关闭WiFi,否则它将继续寻找它可以使用的WiFi网络(耗尽电池)。