如何测量特定警报管理器的电池使用情况?

How to measure battery usage for specific alarm manager?

我有一个警报管理器,我每 30 分钟检查一次我的服务器以获取新数据,我想测量此特定任务的电池使用情况或另一个问题如何测量 运行 每项服务的电池使用情况和class 在我的申请中?

无论是每 30 分钟检查一次还是每 2 小时检查一次,应该没有区别。 (我假设你在检查时所做的处理很小。)检查过于频繁是一个关于电池消耗的问题,但仅在检查间隔小于 1 秒的情况下。

因此,如果您的问题是 "What is the best interval to use?",那么 30 分钟应该不是问题。

如果您的问题是 "I'm having a problem with battery drain and need to find out where it is," 那么这将成为一个分析问题。而且它变得更加复杂,尤其是当您尝试从 class 甚至轻量级进程(例如线程)的角度查看事物时。您可以在 class 或线程级别进行分析,但除非您的硬件具有用于记录功率、电流或电压信息的特殊寄存器,否则它会变得非常复杂。

如果您只需要在进程级别进行概要分析,那么有很多好工具。一个简单的网络搜索就足够了。功耗与 CPU 使用情况密切相关。如果您减少 CPU 使用率,比如让您的程序更快,您也可能会减少能源消耗(即功率)。