现在的位置: 首页 > 综合 > 正文

Android位置策略(四)

2013年08月28日 ⁄ 综合 ⁄ 共 969字 ⁄ 字号 评论关闭

调整保存电池电量和数据交换的模式

在你测试你的应用程序时,你可能会发现,为了提供良好的位置和性能,可能需要对模式进行某些调整。以下是在这两者之间寻求良好平衡时可能要改变的一些事情。

减少窗口的尺寸

用一个较小的窗口来允许监听位置的更新,意味着与GPS和网络位置服务器进行的交互较少,这样就能够延长电池电量使用周期。但它也允许从较少的位置中选择一个最好的估算结果。

给位置提供器设置较低的更新频率

减少位置更新在窗口中显示的频率也能够改善电池利用效率,但会影响精确度。这个值的权衡要依赖于如何使用你的应用程序。通过提高requestLocationUpdates()方法中参数的值来降低更新频率,这个参数值指定了更新的间隔时间和最小距离变化。

限制使用一组提供器

根据你的应用程序所要使用的环境或期望的精度级别,你可以选择只使用网络位置提供器或GPS,只跟其中一个位置服务进行交互会提高电池电量的利用率,降低位置精度。

常见的应用场景

有很多原因让你想要在应用程序中获取用户位置。在下面的一些场景中,你能够使用用户位置来丰富你的应用程序。每个场景还介绍了开始和启动位置监听的时机,以便获取良好的位置并节省电池电量。

标记用户所创建内容的位置

你可能要创建一个标记用户创建内容所在位置的应用程序,以便用户能够分享他们的本地体验、发送餐馆的介绍、或者记录一些能够增强他们的当前位置的内容等等。下图展示了这种需求是如何跟位置服务器交互的:

2.时间轴代表了用户获取位置的窗口,以及用户使用当前位置停止监听的时机。

这里使用了与前文“如何在代码中获取用户位置(图1)”相同的表述模式。为了获取最好的位置精度,你可能选择在用户开始创建内容或应用程序启动时,就开始监听位置的更新,然后在用户完成内容的发送或记录时,停止监听。你需要考虑创建内容这样的任务需要花费多长时间,并判定这期间是否允许对位置的估算进行有效的收集。

帮助用户判断方位

你可能要创建一个能够试图给用户提供方位选择的应用程序。例如,根据用户的位置,可以提供一个附近餐馆、商店、娱乐场所的列表和建议。

要达到这样一个流程,你可能要做以下选择:

1. 
在获取新的最佳估算位置时,重新安排建议;

2.  如果建议已经稳定,那么就停止监听位置的更新。

下图演示了这种模式:

3.时间轴代表了每次用户位置更新时,动态更新数据的窗口。

抱歉!评论已关闭.