0

バックグラウンドで継続的に場所を取得する必要がある場所ベースの Android アプリケーションを開発しています。

  • ロケーションの更新を取得するために LocationManager を使用しています。
  • LocationListener を実装し、位置情報の更新を取得するサービスを作成しました。
  • 通知をオン/オフにするオプションがユーザーに提供されます。通知がオフの場合、アプリがバックグラウンドになったときに stopService() を呼び出しています。それ以外の場合、サービスは実行され続け、mLocManager.removeUpdates() は呼び出されません。

つまり、ユーザーが通知をオンにしておくと、サービスは位置情報の更新を要求し続けます。今一番気になるのはバッテリーの消耗です。ある時点で更新のリクエストを停止する必要があることはわかっていますが、アプリはバックグラウンドで継続的に位置情報を受信する必要があります。NETWORK_PROVIDER を使用して 5 分間隔で更新を要求しているときに、平均的なバッテリー位置の更新がどのくらい消耗するか教えてもらえますか?

また、パフォーマンスを向上させるために、LocationManager の代わりに LocationClient を使用する必要がありますか? または、LocationManager を続行しても問題ありませんか。

位置情報を継続的に必要とするアプリで位置情報の更新を効率的に受信する方法について、誰かが私に提案してくれたら本当に素晴らしいことです。

4

3 に答える 3

1

LocationClient は Google Play Services の一部であり、Location Client は最小限のエネルギー (バッテリーの消耗) でより正確に位置情報を取得するのに効率的であると考えています。

APIも参照してください:) http://developer.android.com/reference/com/google/android/gms/location/LocationClient.html

http://developer.android.com/reference/android/location/LocationManager.html

于 2013-10-28T06:44:06.713 に答える
0

位置情報を使用して更新をリクエストしNETWORK_PROVIDER、5 分ごとに位置情報を更新するだけで問題ありません。しかし、それを比較すると位置の精度は低下しますGPS_PROVIDERが、やはり GPS はより多くの電力を必要とします。昨日の個人的な経験として、私の GPS は常に 3 時間オンで、10 秒ごとに現在地を追跡していました。その間、Nexus 4 を使用すると 20% のバッテリーが消耗しました。あなたかどうか。

しかし、他の人が述べたように、FusedLocation プロバイダーを使用することはLocationClient、精度とバッテリーの消耗の問題に対する最良の代替手段です。

于 2013-10-28T07:03:30.513 に答える