Shadowrocket 后台耗电排查:On Demand 按需连接怎么设更省电

从 iOS 电池用量页判断耗电来源,说明 On Demand 规则、常驻连接与后台刷新之间的取舍,给出按 Wi-Fi 与蜂窝网络分别设置的思路。

本文速览

Shadowrocket(小火箭)的电池占比不能直接当作额外耗电量。本文适合已经导入自己的配置、发现后台活动偏多的 iPhone 与 iPad 用户:先区分流量处理、网络重连和其他应用产生的请求,再调整 Settings → On Demand(按需连接),用相同网络下的对照记录判断是否需要保留自动连接。

一、先读 iOS 电池用量,不凭后台时长下结论

在 iPhone 的系统“设置 → 电池”中,选择可查看应用活动的时间范围,再点选问题发生的时段。记录 Shadowrocket 的电池占比、屏幕开启与关闭期间的活动,以及同期是否有视频播放、照片同步、文件传输。系统版本不同,统计区间和名称可能有所变化,应以设备显示为准。

电池占比表示应用在所选时段耗电中的相对份额,不是它单独消耗了多少电池百分点。例如,设备电量从 80% 降到 70%,列表中某应用显示 20%,不能解读为它把电量从 80% 降到了 60%。列表还涉及系统归因和统计口径,不适合据此推算精确功耗。

Shadowrocket 通过系统网络扩展处理连接。主界面退到后台以后,隧道仍可能工作;其他应用发起的请求也可能经过隧道。因此,看到后台活动并不能直接证明主应用在持续执行前台任务。要把电池记录、实际流量和连接状态放在同一时间线上看。

2 层
应用内入口:Settings → On Demand
4 项
Global Routing:Proxy / Direct / Config / Scene
3 类
基线记录:电量变化、实际流量、连接事件

结论:先确认绝对掉电是否异常

若只看到应用占比升高,而相同时长的总掉电没有增加,先保留现有设置;只有总掉电、异常流量或重复连接同时出现时,再进入逐项排查。

二、On Demand 控制连接触发,不是定时省电开关

On Demand 把按条件建立连接的规则交给系统处理。它与 Global Routing 的职责不同:前者决定何时触发连接,后者决定连接建立后流量采用什么路由策略。开启 On Demand 不等于所有流量都走代理,关闭它也不等于已经断开当前连接。

设置项控制内容排查时的注意点
On Demand符合条件时由系统触发连接。停用后仍需检查 Home 的实际连接状态。
Global Routing → Proxy采用代理路由姿态。更多请求可能经过代理,不能与 Config 的流量记录直接混比。
Global Routing → Direct采用直接连接姿态。路由改成 Direct 不代表系统隧道已经关闭。
Global Routing → Config按当前配置内的规则决定流量策略。确认当前启用的是预期配置,而不只是已经导入配置。
Global Routing → Scene使用已设置的场景安排。检查实际生效的场景,避免测试中路由条件发生变化。

常驻连接有维持隧道和处理流量的成本,但频繁断开、重建连接也可能产生解析、握手与重试。不能据此断言“始终连接更省电”或“每次用完断开一定更省电”。结果取决于网络稳定程度、请求频率、协议参数和服务端行为。

三、用一轮单变量测试建立耗电基线

测试应在不影响必要联网任务的时间进行。提前保存自己的配置,并记录现有 On Demand 设置,便于恢复。不要同时更换协议、修改规则、更新订阅和调整自动连接,否则无法知道是哪一项造成变化。下面的时长用于组织观察,不是功耗达标线。

  1. 建立基线

    在同一地点、同一 Wi-Fi 下记录开始电量、信号和时间;保持亮度、低电量模式等条件一致。选取 60 分钟观察窗,避开系统更新和大文件同步。

  2. 停用按需

    打开 Shadowrocket → Settings → On Demand,记录后停用当前按需连接设置。回到 Home 手动断开,确认没有自动重新连接。

  3. 观察空闲

    锁屏并保留正常通知,结束后查看系统“设置 → 电池”的对应时段。记录电量变化及其他应用活动,不把通知、同步产生的掉电全部归给 Shadowrocket。

  4. 手动连接

    在 Home 手动连接已有配置,保留相同 Global Routing 和服务器选择,再观察同样长的时段。检查是否出现大量传输或连接错误。

  5. 恢复按需

    回到 Settings → On Demand 恢复准备使用的条件,在相似使用负载下再次观察。若异常仅在这一轮出现,优先检查条件匹配与网络切换,而不是立即改协议。

单次相差一两个电池百分点不足以说明设置优劣:电量显示有粒度,系统也会安排后台工作。至少重复相同条件的观察,再比较一致出现的趋势。设备发热明显时应先停止高负载任务,等待温度恢复后再测,避免温度本身影响结果。

四、Wi-Fi 与蜂窝网络分别设置,避免条件互相冲突

进入 Settings → On Demand 后,根据当前界面提供的网络类型与 Wi-Fi 条件编辑规则。条件名称和可选项以实际界面为准;这里的重点是明确每类网络是否需要自动连接,而不是把所有条件都开启。保存后必须切换一次网络,验证实际结果。

网络场景设置思路验证动作
固定家庭 Wi-Fi按实际访问需要决定是否自动连接;不需要时可考虑排除该 Wi-Fi 条件。重新接入同一 Wi-Fi,查看是否保持预期连接状态,并测试需要访问的资源。
需要认证的公共 Wi-Fi先完成网络认证,再验证隧道;不要把认证未完成误判为协议故障。确认系统认证页面已完成,随后在 Home 手动连接一次,验证可达性。
稳定蜂窝网络有持续连接需求时保留对应按需条件;无持续需求时可采用手动连接作对照。关闭 Wi-Fi 后检查连接状态,并记录蜂窝流量是否与实际使用吻合。
弱信号或频繁切网先定位网络不稳定,暂时停用按需作诊断,不用重复重连掩盖问题。在信号稳定地点复测,比较错误是否消失;必要时恢复原设置。

Wi-Fi 已连接不等于互联网可达。路由器上游故障、认证过期、设备在多个接入点之间移动,都可能导致短暂中断。蜂窝网络也可能因弱信号增加无线通信开销,这部分不能只靠更改 Shadowrocket 的分流规则解决。

五、重复重连先查错误,不用改超时掩盖故障

若掉电同时伴随频繁连接失败,应先记录失败发生的网络与时间,再查看可用的连接日志。以下是网络错误中可能出现的英文原文;具体日志可能附带域名、端口或系统错误域。没有出现这些记录时,不应凭耗电现象反推某条错误一定存在。

报错:Network is unreachable

原因:当前请求没有可用的网络路径,可能发生在断网或网络切换期间。

解法:先确认 Wi-Fi 认证或蜂窝数据可用,再在 Home 手动连接;若只在切网时出现,记录切换时刻并复核 On Demand 条件。

报错:Connection refused

原因:目标地址对应的端口拒绝连接,常见于服务未监听或端口填写不符。

解法:对照自己的服务配置核对地址、端口和协议;即使端口填写为 443,也不能仅凭端口号认定它就是可用的 TLS 服务。

报错:Operation timed out

原因:操作在期限内没有完成,可能涉及路径丢包、目标不可达或握手没有响应。

解法:在稳定网络下重复一次手动连接,并核对已有配置参数;不要仅延长超时来维持反复失败的连接。

使用 Trojan、VLESS 等配置时,TLS、SNI 及相关传输参数应与自己的服务端要求一致;不要通过放宽证书校验来处理耗电。若正常业务已经结束但流量仍明显增长,应先找出发起请求的应用,例如持续同步或媒体后台播放,而不是把所有流量归因于重连。

六、后台刷新、订阅更新与分流规则的取舍

iOS 的“设置 → 通用 → 后台 App 刷新”与 Shadowrocket 的 On Demand 不是同一机制。前者影响应用获得后台刷新机会,后者关系到系统按需建立 VPN 连接。关闭后台 App 刷新不能作为“隧道已停止”的证据,也不能保证所有后台网络请求停止。

结论:用稳定性决定是否保留按需连接

当手动连接稳定、开启 On Demand 后才反复重连时,先修正网络匹配条件;当两种方式都失败时,先查网络与配置。完成修正后重做同条件观察,再决定是否保留自动连接。

七、恢复日常设置前的检查清单

排查结束后恢复必要的连接与更新安排,并保留一份简短记录:使用的网络类型、当前 Global Routing、On Demand 是否启用、观察时间和主要错误。需要进一步诊断时,这些信息比单独一张电池占比截图更有用。分享日志前应移除订阅地址、密码、token 和其他个人信息。

Shadowrocket 是 Apple 平台的闭源商业应用,主要用于 iPhone 与 iPad,唯一获取入口是 App Store。客户端一次性买断不等于线路套餐;本文以用户已有自己的服务商与配置为前提。设备兼容性、系统要求和通用购买信息以 App Store 页面标注为准。

App Store 下载先核对正版三要素