在Android位置管理器中,我们应该提供最小距离变化更新和最小时间间隔更新。因此,我需要知道我应该提供多长的最小距离范围和最小时间间隔,以尽快了解当前位置?
虽然将两个值都设置为0会给您最快的结果,但是会消耗很多资源,因此会浪费很多电池电量。要选择适当的值,您必须首先考虑自己的需求,因为文档中说:
位置更新间隔可以使用minTime参数进行控制。位置更新之间的经过时间永远不会小于minTime,尽管它可能取决于Location Provider实现和其他应用程序请求的更新间隔。
此外,requestLocationUpdate
函数的文档建议您按照以下方式选择您的值:
文档表示:
选择合理的minTime值对于节省电池寿命至关重要。每个位置更新都需要GPS、WIFI、Cell和其他无线电的功率。选择尽可能高的minTime值,同时仍能提供合理的用户体验。
具体而言:
如果您的应用程序没有在前台并向用户显示位置,则应避免使用主动提供程序(例如NETWORK_PROVIDER或GPS_PROVIDER),但如果您坚持使用,则应选择
5 * 60 * 1000(5分钟) 或更高的minTime。如果您的应用程序在前台并向用户显示位置,则适当选择更快的更新间隔。
关于minDistance参数:
如果它大于0,则位置提供程序仅在位置发生至少minDistance米的更改,并且至少经过minTime毫秒后,才会向您的应用程序发送更新。
然而,使用minDistance参数更加困难,以节省电源,因此minTime应该是节省电池寿命的主要工具。
希望这有所帮助。