Linzici 发表于 6 天前

他们是怎么算出哪个应用耗电多少的?

这个问题的答案其实分两层:第一层是总电量的测量,第二层是每个App耗电的估算。 它们用的技术手段完全不同。

📊 第一层:总电量的“尺子”——库仑计

要知道还剩多少电,靠的不是猜电压,而是一把物理世界里很准的“尺子”叫库仑计。

简单说,电池输出的所有电流,都会经过一个微小的电阻。这个芯片就像个极其细心的“会计”,实时监测着“流出去”的电流大小和时间,然后对电流做积分运算(电流×时间),精确算出已经消耗了多少毫安时的电量。用总容量减去消耗掉的,就是你看到的那个1%还在跳动的剩余电量了。

💡 第二层:每个App耗电的“估算法”

库仑计只能给出总账,没法告诉你具体是微信花了多少、游戏花了多少。这个时候,手机系统就得换个思路,用 “软件估算法”来破案。

你的手机里存了一份“账本”(系统配置文件),上面写着CPU每跑一秒耗电多少、屏幕每亮一度耗电多少、GPS定位一次又要多少。当你打开一个App时,系统就在后台默默记录:

1. 统计时长:这个App用了几分钟CPU?主要运行在低频还是高频?它让手机屏幕多亮了多久?用了多少网络流量?有没有频繁唤醒GPS?
2. 查询账单:把这些“使用时长”分别乘以刚才说的那份“账本”里的“单价”。
3. 得出估算值:把各项小账单加起来,就估算出了这个App大概消耗的电量。你之前聊天17%、听歌28%,这俩数字就是这么来的。

当然了,如果一个硬件被好几个App同时使用,比如后台听歌和前台刷微信都“用到”了CPU,系统还会通过算法把这个耗电量分摊到不同的App头上。

所以,你看到的那个耗电排行,确实是“估算”出来的。好在手机厂商一直在优化算法,像华为还会结合屏幕亮度、内容等等来修正估算模型。它在绝大多数时候已经足够精准,能帮你轻松揪出偷偷耗电的“凶手”~
页: [1]
查看完整版本: 他们是怎么算出哪个应用耗电多少的?