- 进阶
- 5 分钟阅读
- 更新于 2026-10-09
省电模式与耗电
一个本机防火墙到底吃多少电 —— 半小时 20.67 秒 CPU 的实话实说,以及省电模式为了更省电,具体放弃了什么。
一个能看到每条连接的防火墙,听起来就该在电池统计里占一块。这一页不打算用 安慰的话糊弄你:直接给出实测数字,说清它是什么意思,再老老实实讲明白省电模式 为了把这个数字压得更低,牺牲了什么。
到底花多少
在一台 Android 11 的 OnePlus 6T 上,防护持续运行了 30 分钟。引擎进程累计 2067 jiffies —— 也就是 20.67 秒 CPU 时间。放在这半小时里,相当于 单核的 1.148%。
作为对照,同一时段里后台的应用进程只用了 19 jiffies。几乎可以忽略不计, 因为界面息屏后已经被系统冻结了。
jiffy 是内核记账的最小单位,也就是一个调度节拍。这个版本上 100 个 jiffy 等于 一秒,所以 2067 jiffies 正好折成 20.67 秒。真正要记住的口径是「一个核心上的 CPU 秒数」:半小时里大约二十一秒。
那 1.148% 单核在实际体验里是什么概念:假设单独拿一个核心只跑御流,它仍然有 差不多 98.9% 的时间是闲着的。而手机有好几个核心,分摊到整机上的占比只会更小。 这不是你会察觉到的耗电,更接近电池曲线上的一个舍入误差。
为什么这么省:采样周期表
引擎不是时时刻刻盯着流量看,而是按定时器采样,成本才能压得这么低。一次调优 把各个定时器都调慢了;省电模式又把其中最要紧的那一个进一步拉长。
| 刷新内容 | 调优前 | 调优后 | 省电模式 |
|---|---|---|---|
/connections 快照 |
1 秒 | 3 秒 | 15 秒 |
| 通知刷新 | 3 秒 | 5 秒 | — |
| 统计落库 | 15 秒 | 30 秒 | — |
| 日志折叠 | 500 毫秒 | 1 秒 | — |
| 界面轮询 | 5 秒 | 10 秒 | — |
| 内网扫描 | 10 秒 | 30 秒 | — |
从左往右读:「调优后」这一列就是现在正常安装下的行为,省电模式只会在
/connections 这一行上再动一次。其余几项到那时就不再变化了 —— 应用不会跟着
把别的定时器也一起动态调快调慢。
省电模式到底放弃了什么
开关在设置 → 省电模式,应用自己是这么写的:
速度显示更新得更慢一些,并暂停深度解析,让电量更耐用。开启期间深度链接拦截 和「最近活动」记录会变少。
具体的动作有两个:
- 它会暂停深度解析。 只要省电模式开着,深度 URL 层就停止拦截,深度类模块 会显示已暂停;关掉省电模式,它们会自动恢复。
- 它把
/connections快照从 3 秒拉长到 15 秒。 应用正是靠这个快照知道有 哪些连接。活得比一个周期还短的连接,可能正好落在两次采样之间,从此不被记录, 于是每个应用的「最近活动」列表会变稀。
有两块内容不受影响,这点很重要:
- 每个应用、每个域名的流量合计仍然准确。 快照里带的是累计值,总量靠两次 采样相减算出来。漏掉一次采样不会丢字节。
- 被拦截的连接完全不受影响。 拒绝这个动作来自内核日志流,不走那个快照 —— 所以每一次拦截照样会被看到、被计数,拦截强度一点没减。
唯一关不掉的东西
内核自带一个 1 Hz 的采样器,只要库还在加载状态,它就每秒跑一次。它无条件运行, Kotlin 侧关不掉。上面所有数字的底座就是它:即便开了省电模式,这份常驻开销也 还在。深度解析和快速快照是可以不要的;这一项不行。
另一个开关:访问记录窗口
资源占用不全是定时器的事。设置 → 访问记录窗口决定御流保留多少条访问记录 —— 100、500、1000 或 2000 条,默认 500 条。窗口越大保留的历史越多,占用的 内存也越多。
如果你担心的是内存而不是 CPU,该动的是这个开关。省电模式管的是引擎多久看一次, 记录窗口管的是它留下多少。
什么时候该开,什么时候别开
在你离充电器很远、想撑一撑电量,而且不依赖它暂停的那两样东西时,就打开省电 模式。核心的域名拦截 —— 广告、跟踪、恶意网址 —— 照旧工作,拦截次数也一条不 少地统计,所以多数人实际放弃的比想象中少。
但下面两种情况只要占一条,就别开:
- 你在用深度解析。 省电模式会把它整个暂停,深度 URL 层在开启期间不再拦截。 这一层具体做什么,见深度解析。
- 你靠每个应用的「最近活动」列表来核查行为。 省电模式下只有活得超过 15 秒 的连接才会被记录,短连接就不显示了。
想清楚这两条之后,这笔交易是划算的:真的少干了活,换来更精简的记录,而防火墙 本身毫发无损。
接下来
本教程同时提供 English