如何使用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

@Namnodorel不幸的是,这是不可拆卸的电池。.我也认为这不是由于任何应用程序引起的。这可能是ROM泄漏或其他原因。我假设电池没有问题,因为正如我所说,一旦跌落后再充电,它就可以正常工作:|
–theHeman

有时会变质的电池可能会不一致。我的Galaxy S6的电池快要耗尽了,有些日子会更好,有些日子会更糟。我的流失不如您的流失,但我相信这不是由于申请而引起的。您是否尝试过以安全模式运行手机?您是否尝试过恢复出厂设置(因为执行和恢复操作是如此可怕和不幸)?
Kaizerwolf '16

Answers:


1

您确定不是所有应用程序都在消耗您的电量吗?您可以通过将手机启动到安全模式来找到答案。请参阅如何将手机启动到安全模式以获取说明。如果您的电池在安全模式下没有耗尽,请在开始看到此怪异行为后尝试卸载已安装的应用程序。如果您无法确定它是哪个应用程序,请尝试将其重置为出厂设置。另外,如果电池耗尽快,那很可能是故障电池。


好吧,一般建议是好的,但它并不能真正回答真正的问题(使用logcat诊断电池使用情况)
Andrew T.

@AndrewT。一般来说,您是正确的。但是考虑到OP希望解决该问题,将其修复为logcat会使它成为XY问题(在一定范围内)。因此,尽管不是100%符合“字面意义”,但我会说它适合该问题并提供了解决问题的方法。
伊齐

0

无论如何,有没有使用过滤器或其他功能的地方,我可以将logcat输出限制为仅与电池使用量有关的统计信息?

当然。更简单的方法是使用Android Studio中的设备监视器。更复杂的方法是使用命令行界面来处理adb logcat(它使用ANDROID_LOG_TAGS env var)。developer.android.com上的cf logcat命令行工具文档。

像adb shell dumpsys batterystats> batterystats.txt这样的东西对我来说会更好吗?如果是这样,我怎么用它来得到我想要的?

电池耗电主要是由于某些意外情况的发生(错误导致应用程序无限循环,错误检测的设备使访问达到最佳状态,例如每个字节读取一个字节,而不是每个Mb读取Mb等)。您应该使用adb logcat的过滤功能来查找此类意外情况。但请注意,此类工具主要由应用程序甚至平台开发人员使用,解释此类日志有时可能有点复杂。但是,成功的100%的人尝试过;-)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.