【问题标题】:Android battery usage report for developers面向开发者的 Android 电池使用情况报告
【发布时间】:2011-10-31 10:18:45
【问题描述】:

在 Gingerbread 上,用户可以报告应用的电池使用情况,方法是转到设置 -> 关于手机 -> 电池使用,然后点击特定应用。

我的问题是,作为开发人员,我在哪里可以看到这些报告?

它们看起来非常有用,因为它们包含有关您可能泄漏的唤醒锁类型的信息。

【问题讨论】:

标签: android report power-management


【解决方案1】:

抱歉,我认为目前没有此信息。它正在被收集,但此时没有可供开发人员检索它的 UI。 (关于运行服务的报告也是如此。)

【讨论】:

  • 确实对开发者不可用;我上周通过编写一个占用 CPU 的应用程序对此进行了测试,然后报告了电池使用情况。我看到了我在市场开发者控制台中发送的 ANR 报告,但没有看到电池报告。当然,这些信息对于开发者来说是有用的,可以用来证实 Market cmets 抱怨电池使用量过大,并总体上改进他们的应用程序。
  • 感谢您的回答!我希望在不久的将来我们能够同时看到唤醒锁定和运行服务报告。对不起,我不在互联网区域,无法登录:(
  • 2 年过去了。有什么改变吗?开发者能否衡量特定代码对电池的影响?
【解决方案2】:

Settings package 中的subdir fuelgauge 中查看PowerUsageSummaryPowerUsageDetail。相关方法为PowerUsageDetail中的reportBatteryUse()和PowerUsageSummary中的processAppUsage()

大部分信息来自一个由内部 API 调用创建的 mstats 对象:

import com.android.internal.os.BatteryStatsImpl;
...
mStats = com.android.internal.os.BatteryStatsImpl.CREATOR
         .createFromParcel(parcel);
mStats.distributeWorkLocked(BatteryStats.STATS_SINCE_CHARGED);

我从未尝试从您自己的非系统应用程序中调用这些方法,因此您必须确定它是否有效。

【讨论】:

  • 这很有趣,但它回答了一个有点不同的问题。这可能是他们收集这些统计信息的方式,但我的问题是,在用户将这些统计信息提交给 Google 之后,有没有我们可以让开发人员看到它们的地方?
  • 您确定您在“报告”下所理解的内容确实报告了电池使用情况吗?这不只是出现在应用程序的“强制关闭”上的错误和日志收集器功能。这些报告通过市场直接报告给应用的所有者。
  • 我很确定这是电池使用数据,因为我查看了我发送的内容的预览。如果您的手机运行姜饼,您可以自己尝试。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-10-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-10-13
  • 2023-03-30
相关资源
最近更新 更多