开发者的安卓电池使用报告

14

在Gingerbread版本上,用户可以通过进入“设置 -> 关于手机 -> 电池使用情况”,然后点击特定应用程序来报告其电池使用情况。

作为一名开发人员,我想知道在哪里可以看到这些报告?

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


2
唤醒锁?使用 adb shell dumpsys power 或在已 root 的设备上查看 https://market.android.com/details?id=me.kennydude.dev.urlopener&e - 其他任何像网页上的东西都会侵犯用户的隐私 :) - Joe Simpson
2个回答

8

抱歉,我认为目前这些信息不可用。虽然正在收集,但是开发人员目前无法检索到它的UI界面。(对于有关正在运行的服务的报告也是如此。)


1
确实对于开发者来说是不可用的;我上周通过编写一个占用CPU大量资源的应用程序进行了测试,然后报告电池使用情况。我在市场开发者控制台中看到了一个ANR报告,但没有看到电池报告。毫无疑问,此信息对于开发者来说非常有用,可以证实市场评论中关于高耗电量的投诉,并改进他们的应用程序。 - Christopher Orr
谢谢你的回答!我希望在不久的将来我们能够看到唤醒锁和运行服务报告。很抱歉我的奖励问题,我当时没有网络,无法登录 :( - Erdal
两年过去了,有什么变化吗?开发人员能否衡量特定代码对电池的影响? - AlikElzin-kilaka

5

请查看电量使用总览电量使用详情,它们位于子目录燃油计量表中的设置包。相关方法为PowerUsageDetail中的reportBatteryUse()和PowerUsageSummary中的processAppUsage()

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

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

我从未尝试过从您自己的非系统应用程序中调用这些方法,因此您需要找出它是否有效。


这很有趣,但它回答了一个稍微不同的问题。这可能是他们收集这些统计数据的方式,但我的问题是,在用户将这些统计数据提交给Google后,我们开发人员是否可以在任何地方看到它们? - Erdal
你确定你理解的“报告”是否真的报告了电池使用情况吗?那不仅仅是应用程序“强制关闭”时出现的错误和日志收集器功能吗?这些报告将通过市场直接报告给应用程序所有者。 - Flow
1
我非常确定这是电池使用数据,因为我查看了我正在发送的预览。如果你有一部运行姜饼系统的手机,你可以自己尝试一下。 - Erdal

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接