核心位置:在重要位置服务和标准位置服务之间切换的最佳实践?

时间:2014-12-05 17:14:55

标签: ios objective-c ios7 ios8 cllocationmanager

有时我的应用需要使用更高精度,更频繁的标准位置更新,有时它需要的只是重要的位置更新。我需要进行此切换的最常见时间是应用程序在前景和后台之间切换。

在这些服务之间切换时:

  • 我是否需要关闭另一个,就好像它们是不相互影响的独立服务一样?
    • 标准 - >重大:
      [myLocationManager stopUpdatingLocation]; [myLocationManager startMonitoringSignificantLocationChanges];
    • 显着 - >标准:
      [myLocationManager stopMonitoringSignificantLocationChanges]; [myLocationManager startUpdatingLocation];
  • 当这些服务打开时,这些服务是否会相互关闭,这样我就不需要停止它们,只能启动它们?
    • 标准 - >重大:
      [myLocationManager startMonitoringSignificantLocationChanges];
    • 显着 - >标准:
      [myLocationManager startUpdatingLocation];
  • 当我设置我的应用程序并将其保持打开时,我是否只是启动重要服务,只在需要时启动和停止标准服务(额外的准确性)?
    • 初始设置:
      [myLocationManager startMonitoringSignificantLocationChanges];
    • 标准 - >重大:
      [myLocationManager stopUpdatingLocation];
    • 显着 - >标准:
      [myLocationManager startUpdatingLocation];

CLLocationManager的文档不清楚此行为的详细信息。感谢您提出任何有益的想法!

编辑:刚刚发现了另一个问题的一些有用信息,排除了上面提到的第二种可能的行为,但没有提出管理此转换的最佳方法:Does calling stopUpdatingLocation on CLLocationManager also stop monitoringSignificantLocationChanges

0 个答案:

没有答案