强制CLLocationManager更新 - 它有帮助还是有害?

Ste*_*e N 5 iphone gps core-location cllocationmanager

我一直试图找到任何方法来优化基于位置的iPhone应用程序的性能,并且看到有人提到你可以通过启动和停止CLLocationManager来强制进行位置更新.我需要获得最高的准确度,我的情况下的用户可能希望在他们四处走动时每隔几秒钟(例如10秒钟)看到更新.我已经相应地设置了过滤器,但我注意到有时我在设备上没有得到任何更新.

我正在测试以下方法,该方法在固定时间间隔过去时强制更新(我使用20秒).我的直觉告诉我,这实际上无法帮助我为用户提供更准确的更新,而且只是让CLLocationManager一直运行可能是最好的方法.

- (void)forceLocationUpdate {
    [[LocationManager locationManager] stopUpdates];
    [[LocationManager locationManager] startUpdates];
    [self performSelector:@selector(forceLocationUpdate) withObject:nil afterDelay:20.0];
}
Run Code Online (Sandbox Code Playgroud)

我的问题是 - 从CLLocationManager强制更新实际上是否提高了核心位置性能?这会影响性能吗?如果我在外面有一个良好的GPS接收的开放场地,那么这会有帮助吗?有没有人有尝试这个经验?

先谢谢,史蒂夫

pet*_*ert 0

我还尝试优化应用程序中的“靠近我”功能 - 我发现以下 SO 帖子信息很有用:链接文本