13

Kitkat (4.4) の時点で、Android は私のアプリが「バッテリー使用量が多い」と報告しています。

GPS と同様に Network Location も使用します。GPS を無効にすると、アプリが「低バッテリー使用」としてマークされるようです。

「低バッテリー使用」ラベルを維持しながら GPS を使用するためのヒントがあるかどうか疑問に思っています。おそらく、十分に頻繁にポーリングしない場合、または GPS = バッテリー キラーにハードコーディングされている場合はどうでしょうか。

編集:

これらのパラメータを変更するとバッテリー寿命が節約されることを理解しています。私の質問は、Android がバッテリー寿命を節約しようとするこれらの試みを認識するのか、それとも単に GPS を使用しているという理由だけで私のアプリを高電力使用としてブランド化するのかということでした。

4

3 に答える 3

14

良い質問ですが、繰り返します。はい、ポーリング頻度はバッテリー寿命に大きく影響します。そのため、ユーザーの位置情報の更新を取得する頻度は、特定のニーズに応じて調整する必要があります。

  1. 基本的にrequestLocationUpdatesLocationManagerの Android ドキュメントを読んでいますか?

    requestLocationUpdates (long minTime, float minDistance, Criteria criteria, PendingIntent intent)

    minTime に適切な値を選択することは、バッテリ寿命を節約するために重要です。各位置情報の更新には、GPS、WIFI、セル、およびその他の無線からの電力が必要です。合理的なユーザー エクスペリエンスを提供しながら、可能な限り高い minTime 値を選択します。アプリケーションがフォアグラウンドになく、ユーザーに位置を表示している場合、アプリケーションはアクティブなプロバイダー (NETWORK_PROVIDER や GPS_PROVIDER など) の使用を避ける必要がありますが、どうしても必要な場合は、5 * 60 * 1000 (5 分) の minTime を選択するか、大きい。アプリケーションがフォアグラウンドにあり、ユーザーに位置を表示している場合は、より速い更新間隔を選択するのが適切です。

    minDistance パラメーターを使用して、位置情報の更新頻度を制御することもできます。0 より大きい場合、ロケーション プロバイダーは、ロケーションが minDistance メートル以上変化し、かつ minTime ミリ秒以上経過した場合にのみ、アプリケーションに更新を送信します。ただし、ロケーション プロバイダーが minDistance パラメーターを使用して電力を節約することはより困難であるため、バッテリー寿命を節約するための主要なツールとして minTime を使用する必要があります

  2. バッテリーの消耗とバッテリーの消耗を最小限に抑えるために何ができるかを知るためのいくつかの良い答えについては、以下をお読みください。

    Android 定期的な GPS ポーリング イン サービス、バッテリー寿命の最大化

    LocationClient を使用して定期的に更新を取得する最もバッテリー効率の良い方法は何ですか?

    Androidでユーザーの位置を取得する良い方法

    AndroidのGPSサービスによって消費されるバッテリー電力を節約する

    位置情報提供者は本当にバッテリーを消耗しますか?

    GPS とバックグラウンド アプリ ios/android を使用している場合のバッテリー寿命

    GPS サービスを維持し、バッテリー寿命を最適化する

お役に立てれば。

編集: @ioan に同意します。Fused Location API を使用して、場所を簡単かつ効率的に取得できるようになりました。

于 2013-11-15T23:48:03.250 に答える