シミュレーターとデバイスの両方で、LocationManager のデリゲートは、SLC を監視しながら移動中に、正確に 5 分ごとに didUpdateToLocation:fromLocation: を取得しています。どうしてこれなの?
質問する
395 次
1 に答える
1
CLLocationManager Class Referenceによると:
位置イベントの定期的なストリームを必要としないアプリケーションの場合は、代わりに startMonitoringSignificantLocationChanges メソッドを使用してイベントの配信を開始することを検討してください。この方法は、最初のユーザー位置の修正のみが必要で、ユーザーがかなりの距離を移動した場合にのみ更新が必要な大部分のアプリケーションにより適しています。このインターフェイスは、デバイスに関連付けられたセル タワーへの変更を検出した場合にのみ新しいイベントを配信するため、更新の頻度が減り、電力使用量が大幅に削減されます。
私の推測では、アプリがバックグラウンドで実行されている場合、iOS は 5 分ごとにアプリを「起動」して、バッテリー寿命を節約するために、重要な場所の変更を行ったかどうかを確認します。
この前の質問にも役立つ情報があるかもしれません。
于 2012-08-14T00:52:07.380 に答える