gpt4 book ai didi

android - 位置提供商真的会耗尽电池电量吗?

转载 作者:太空宇宙 更新时间:2023-11-03 11:38:19 25 4
gpt4 key购买 nike

我需要实现基于位置的服务。我不需要很好的位置,所以不需要 GPS。

最简单的方法是在应用启动时开始监听位置更新,并保持开启状态:

    mLocationMgr.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 10000, 100, mPendingIntent);

因为我不需要太多的准确性,所以我将最大更新频率设置为 10s 和 100m,而不是默认的 0、0。

当我们想到位置时,我们会想到电池耗尽,但我想这是一条捷径,只有 GPS 才真正耗尽电池。我认为这样使用网络提供商不会耗尽电池。有什么想法吗?

最佳答案

从电池消耗的角度来看,您的 100 米距离过滤器对您的作用不大。这只会控制您的 PendingIntent 由于修复而被执行的次数。

您的 10 秒时间值可能被操作系统用来控制电源使用,但不能保证。而且,由于值(value)如此之低,它似乎不太可能被使用。可能每小时一次,但不是每 10 秒一次。

更重要的是,您需要始终保持 CPU 处于开启状态。而且,由于您使用的是 requestLocationUpdates()PendingIntent 风格,我猜您计划收集很长时间的数据。

如果您只有 COARSE 权限,Android 有望避开 WiFi 热点接近检测,这将节省一点电量。

总的来说,网络供应商比 GPS 供应商消耗的电量少。 “少”与“少”相去甚远。在 Nexus 级 Android 设备上,GPS + CPU 为我提供了几个小时的电池续航时间(通过使用 Google 导航确定)。我希望网络提供商 + CPU 能多持续几个小时,但仅此而已,因为 CPU 本身就是一个相当大的电池消耗。

我更担心的是:

Easiest would be to start listening for locations updates at app start, and leave it ON

这听起来好像您实际上并不打算删除您的位置更新。对于任何类型的提供者(除了可能 被动提供者),这都是一个非常糟糕的主意。请为注册和删除更新制定更具体的计划。特别是,确保用户能够控制您何时将电池消耗到这种程度。

关于android - 位置提供商真的会耗尽电池电量吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8947136/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com