2016-05-29 5 views
0

最近私はアンドロイドアプリを開発しました。アプリは大丈夫です。しかし、ユーザーがアプリがバッテリーを消耗させていると訴えている。いくつかのバッテリーオプティマイザアプリ(Like Battery Doctor)でも、バッテリーの放電が速すぎるため、アプリが強制的に停止することが示唆されています。多くのサービス(同期サービス、ソケットサービスなど)があり、このアプリケーションでは放送受信機が使用されており、アラームマネージャーがアプリで使用されています。どのようにして実際にバッテリの放電を引き起こしているのかを検出するにはどのようなことが私のアンドロイドアプリでバッテリーが消耗しているのを検出するには?

+1

wakelocksがコード内で使用されているかどうかを評価することから、リリースされなかった可能性がありますか?また、ユーザーのこのような予期せぬ主張は、乾草の針を探している、チャンスは、電池遊びのために知られているGoogleの再生サービスは、また、それらのユーザーが実行しているアプリのどのような種類、アンドロイドバージョン、結局のところ、*あなたのコードに*ない*かもしれない何かを追いかける重要な情報です。 – t0mm13b

答えて

1

私はanother of my postsでバッテリーの主な原因を取り上げました。

私が正しく理解している場合は、アプリのコードのどのセクション(ライブラリを含む)が原因であるかを特定したいと考えています。

ここに私の提案です:

  1. は問題があることを確認します。ユーザーは自分の携帯電話上で実行中のすべてのプロセスのダンプを送信することによって言う、できるだけ同一の電話機の設定を取得し、そこにあることを確認問題。
  2. あなたのアプリであることを確認します。アプリを実行している状態でテストを実行します。必ず何回か測定してください。
  3. (A)プロファイラを使用している場合は、それを使用してアプリケーションのプロファイルを作成し、潜在的な問題を特定します。 (B)プロファイラを持っていない場合は、ダミー入力を作成して、別の機能をカットしながらアプリを起動してください。バッテリの放電を測定します。

注:ドレインが小さい場合、検出が問題になります。これは古い信号対雑音比の問題です。ドレインが小さいほど、それが何であるかを判断するために必要な測定値が増えます。もちろん、ドレインが小さいほど、問題は少なくなります。

関連する問題