安卓LocationManager应该提供多长的最小距离?

3
在Android位置管理器中,我们应该提供最小距离变化更新和最小时间间隔更新。因此,我需要知道我应该提供多长的最小距离范围和最小时间间隔,以尽快了解当前位置?

0和0会导致内存问题吗? - undefined
1个回答

14

虽然将两个值都设置为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应该是节省电池寿命的主要工具。

希望这有所帮助。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接