私は位置情報ベースの iPhone アプリケーションのパフォーマンスを最適化する方法を見つけようとしており、CLLocationManager を開始および停止することで位置情報を強制的に更新できると言う人もいます。私は得ることができる最高の精度が必要であり、私の場合、ユーザーはおそらく、歩き回る際に数秒 (たとえば 10 秒) ごとに更新を確認したいと考えています。それに応じてフィルターを設定しましたが、かなり長い間、デバイスで更新を取得できない場合があることに気付きました。
次のアプローチをテストしています。これは、一定の時間間隔が経過したときに更新を強制します (私は 20 秒を使用しています)。私の直感では、これはユーザーにより正確な更新を提供するのに実際には役立たず、CLLocationManager を常に実行したままにしておくことがおそらく最善の方法であることがわかります。
- (void)forceLocationUpdate {
[[LocationManager locationManager] stopUpdates];
[[LocationManager locationManager] startUpdates];
[self performSelector:@selector(forceLocationUpdate) withObject:nil afterDelay:20.0];
}
私の質問は、CLLocationManager からの更新を強制すると、実際にコア ロケーションのパフォーマンスが向上するのでしょうか? パフォーマンスに影響はありますか? GPS 受信が良好な屋外にいる場合、これは役に立ちますか? 誰もこれを試した経験がありますか?
前もって感謝します、スティーブ