已经阅读了关于同一主题的其他 SO 帖子,并且坚持在以下方法之间做出决定: 线程 1与线程 2与简单的 onLocationUpdate()
有人可以帮助我了解所有这些的利弊。我需要每 30 秒更新一次;而且我认为将 requestSingleUpdate() 与 AlarmManager 一起使用将不准确(因为它必须重新初始化该过程),并且会消耗更多电池。但线程似乎说相反。
我的应用程序中还有一个地理围栏代码 - 提供较大的投票值也会影响该代码吗?
谢谢 !
已经阅读了关于同一主题的其他 SO 帖子,并且坚持在以下方法之间做出决定: 线程 1与线程 2与简单的 onLocationUpdate()
有人可以帮助我了解所有这些的利弊。我需要每 30 秒更新一次;而且我认为将 requestSingleUpdate() 与 AlarmManager 一起使用将不准确(因为它必须重新初始化该过程),并且会消耗更多电池。但线程似乎说相反。
我的应用程序中还有一个地理围栏代码 - 提供较大的投票值也会影响该代码吗?
谢谢 !
请注意,您引用的两个线程需要每 5 或 10 分钟修复一次。您每 30 秒查找一次。我的粗略经验是,每次打开 GPS 时您可能需要 30-60 秒才能获得新的修复,结果是每 30 秒可能与连续运行它没有太大区别。
但是,如果您可以说服自己每隔几分钟进行一次修复,那么我们确定的粗略策略是启用 gps,如果您在 1 分钟内获得修复,则使用大约获得的第 10 个(每秒获得一次) gps 开始运行),因为某些手机这样做显然具有一定的准确性优势,如果您在 1 分钟内没有得到修复,请关闭,放弃并在下一个间隔重试。AlarmManager 是一种计时这些的好方法,因为它会将手机从睡眠中唤醒,这样您就不会错过任何修复间隔。