バックグラウンドで継続的に場所を取得する必要がある場所ベースの Android アプリケーションを開発しています。
- ロケーションの更新を取得するために LocationManager を使用しています。
- LocationListener を実装し、位置情報の更新を取得するサービスを作成しました。
- 通知をオン/オフにするオプションがユーザーに提供されます。通知がオフの場合、アプリがバックグラウンドになったときに stopService() を呼び出しています。それ以外の場合、サービスは実行され続け、mLocManager.removeUpdates() は呼び出されません。
つまり、ユーザーが通知をオンにしておくと、サービスは位置情報の更新を要求し続けます。今一番気になるのはバッテリーの消耗です。ある時点で更新のリクエストを停止する必要があることはわかっていますが、アプリはバックグラウンドで継続的に位置情報を受信する必要があります。NETWORK_PROVIDER を使用して 5 分間隔で更新を要求しているときに、平均的なバッテリー位置の更新がどのくらい消耗するか教えてもらえますか?
また、パフォーマンスを向上させるために、LocationManager の代わりに LocationClient を使用する必要がありますか? または、LocationManager を続行しても問題ありませんか。
位置情報を継続的に必要とするアプリで位置情報の更新を効率的に受信する方法について、誰かが私に提案してくれたら本当に素晴らしいことです。