logcatを使用してAndroidデバイスのバッテリー消耗を診断する方法は?


17

公式のCyanogenmodカスタムROMで深刻なバッテリー消耗の問題に直面しています。コミュニティフォーラムで議論した後、問題のトラブルシューティングにlogcatを使用することが提案されました。

問題:
完全に充電した後、デバイスを取り外すたびに、バッテリーが急速に消耗します。15〜20分でほぼ50%を失います。前述のように、私はlogcatを使用して問題をキャプチャしようと計画しています。adb logcat電話の電源を切った直後に実行する予定です。しかし、私は過去にlogcatを使用しましたが、大規模な出力から特定のデータを抽出することは非常に難しいことがわかりました。私はすでに公式のlogcatのヘルプページログの読み取りと書き込みを行って何か役に立つものが見つかるかどうかを確認しましたが、問題の解決策を見つけることができませんでした。

質問:

  • とにかく、logcatの出力をバッテリーの使用にのみ関連する統計に制限できるフィルターまたはその他の機能を使用する必要はありますか?
  • 何かadb shell dumpsys batterystats > batterystats.txtが私にとってより良いものになりますか?もしそうなら、どうやって欲しいものを得るためにそれを使うのですか?

バッテリーグラフ1 使用パターンに何も表示されない バッテリーグラフ2

更新:
排水用のBatteryStats は、ここ Patebin で見つけることができます。また、これは私のバッテリー履歴グラフです:
バッテリーヒストリアンチャート



1
放電グラフから、私はむしろアプリよりもここで不良なバッテリーを想定します(特にそれが常にそのように発生する場合)。新しいバッテリーを試してみるかもしれません(デバイスが交換をサポートしている場合)?
イジー

問題はアプリではなくバッテリーにあると思います。同じデバイスを持っている人のバッテリーを借りて、新しいバッテリーで同じエラーが発生するかどうかをテストしてください。そうでない場合は、新しいバッテリーを入手する必要があります。それでも機能する場合は、アプリのせいだとは思わないでしょう。このくらいのバッテリーを消耗するには、GPSを有効にし、ネットワークトラフィックが多く、一度に複雑なプロセスを実行する必要があります。
ナムノドル

残念ながら、@ Namnodorelは取り外し不可能なバッテリーです。また、アプリが原因ではないと思います。それは、ROMのリークか何かです。私が言ったように、一度落とした後に再充電すると、完全に正常に動作するため、バッテリーに問題はないと仮定しています:|
theHeman

バッテリーの状態が悪くなると、時々矛盾が生じる可能性があります。Galaxy S6のバッテリーはゆっくりと劣化し、ある日はより良く、ある日はより悪くなります。私のドレインはあなたのものほど重要ではありませんが、アプリケーションによるものではないと思います。電話をセーフモードで実行しようとしましたか?工場出荷時の状態にリセットしましたか(実行して回復するのにひどく不幸です)?
カイザーウルフ

回答:


1

確かに、バッテリーを消耗しているアプリはありませんか?これを確認するには、電話をセーフモードで起動します。読むセーフモードにあなたの携帯電話を起動する方法手順について。セーフモードでバッテリーが消耗しない場合は、この奇妙な動作が始まった後にインストールしたアプリをアンインストールしてみてください。どのアプリであるかわからない場合は、工場出荷時の状態にリセットしてみてください。また、バッテリーの消耗が非常に速い場合は、バッテリーが故障している可能性があります。


まあ、一般的な提案は良いですが、それは本当に(診断バッテリの使用量logcatを使用して)本当の問題に答えていない
アンドリューT.

@AndrewT。一般的に、あなたは正しいです。しかし、OPがこの問題を解決したいと考えていることを考えると、logcatに修正することは、どういうわけかXY問題(制限内)にすることです。したがって、「文字通り」という質問に100%当てはまるわけではありませんが、問題に当てはまり、解決するためのアプローチを提供していると思います。
イジー

0

とにかく、logcatの出力をバッテリーの使用にのみ関連する統計に制限できるフィルターまたはその他の機能を使用する必要はありますか?

承知しました。より簡単な方法は、Android Studioからデバイスモニターを使用することです。より複雑な方法は、adb logcatへのコマンドラインインターフェイスを使用することです(ANDROID_LOG_TAGS環境変数を使用します)。developer.android.comの Cf logcatコマンドラインツールのドキュメント。

adb shell dumpsys batterystats> batterystats.txtのようなものは私にとってより使いやすいでしょうか?もしそうなら、どうやって欲しいものを得るためにそれを使うのですか?

バッテリーの消耗は主に、予期せぬ状況が発生するためです(無限ループするアプリケーションの実行エラー、アクセスの最適化が不十分なデバイスの検出、MbごとのMbの代わりにバイトごとのex読み取りなど)。このような予期しない状態を見つけるには、adb logcatのフィルタリング機能を使用する必要があります。ただし、そのようなツールは主にアプリやプラットフォーム開発者によっても使用され、そのようなログを解釈するのは少し複雑になる場合があることに注意してください。ただし、成功した人は100%試しました;-)

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.