适合已在 iPhone 或 iPad 使用 Shadowrocket、发现电池用量偏高或连接反复建立的读者。本文按系统读数、Settings → On Demand、网络切换和对照测试的顺序排查,最后给出持续连接与按需连接的取舍方法。
先读懂电池用量,再判断是否异常
在 iPhone 的系统「设置 → 电池」中,先选定同一个统计时段,再查看 Shadowrocket 的电池用量占比与后台活动。占比表示它在该时段已统计用电中的份额,不等于电池总容量的消耗比例。如果同一时段其他应用使用较少,Shadowrocket 的占比也可能随之升高。iPad 上同样应从系统电池页面核对,具体页面排列以设备显示为准。
记录观察时段、电量变化、屏幕开启时间,以及 Shadowrocket 在 Home 中是否保持连接。还要记下当时使用的是 Wi-Fi 还是蜂窝网络、有没有频繁走出信号覆盖区。把这些条件放在一起,才能区分持续传输、后台保持连接和反复建立连接;一次截图无法说明耗电由 On Demand 单独造成。
判断:先固定观察条件
比较开关 On Demand 前后的用量时,选择相近时长和相近使用方式;如果一段时间在传输大量数据、另一段时间几乎没有请求,两组百分比不能直接用于判断设置效果。
系统电池页面显示的是应用归属的用量,不会逐项列出每条连接、每条规则的耗电。若看到后台活动较多,下一步应检查哪些条件使连接持续存在,而不是立即删除已有配置。排查期间保留当前配置和自己的连接资料,便于在更改设置后恢复原状。
On Demand 管什么,不管什么
Shadowrocket 的 On Demand 入口位于 Settings → On Demand。它用于设置连接的按需触发条件;可选条件以当前应用实际显示为准。启用之后,并不意味着设备闲置时一定断开,也不意味着只要关闭它,已经建立的连接就会自动停止。测试前应同时查看 Home 的连接状态,以及系统中显示的 VPN 状态。
保持连接与频繁重连是两种不同现象。前者可能让连接在后台维持,期间仍可能有应用发起网络请求;后者则会在网络条件变化或连接中断后重复建立隧道。若设备在两个 Wi-Fi 之间切换,或蜂窝信号时断时续,先确认重连是否与这些时点对应。On Demand 条件设置得越广,触发连接的机会通常越多,但具体用量仍取决于实际请求和网络状态。
Global Routing 位于路由设置层面,不能当成 On Demand 的替代开关。Proxy、Direct、Config 与 Scene 是不同的路由姿态;其中 Config 按所选配置中的规则处理流量。即使改成 Direct,也不应仅凭这个词推断 VPN 隧道已经关闭。排查电池问题时,分别记录路由姿态与连接状态,避免把「请求如何路由」和「何时建立连接」混为一谈。
按固定顺序做一次开关对照
一次只改一个变量。开始前记下 Settings → On Demand 中原有的开关与条件、Home 当前状态、Global Routing 姿态和测试所用网络。已有服务连接所需的资料也应保持不变;在测试中同时切换服务器、更新订阅或更换规则,会使结果难以归因。
记录基线
打开系统「设置 → 电池」,选定统计时段,记下 Shadowrocket 用量与后台活动;再到 Home 记录连接状态和当前网络。
核对条件
进入 Shadowrocket 的 Settings → On Demand,查看开关和已设置的触发条件。先记录原值,不要同时改动 Global Routing 或 Config。
观察关闭状态
关闭 On Demand 后,按自己平时的方式控制 Home 连接。观察一个完整的日常使用时段,记录 Wi-Fi 与蜂窝网络切换及连接中断的次数。
观察开启状态
在相近的使用时段恢复 On Demand,仅启用实际需要的条件。保持同一份配置与相近的网络使用方式,记下是否出现反复连接。
比较并恢复
对照系统电池页面、后台活动和连接现象,再决定保留哪组设置。若观察条件差异过大,先恢复原设置,择时重新比较。
测试中可以用固定的日常操作作为参照,例如同一网络下打开相同的网页,再让设备锁屏一段相近时间。不要为了制造读数而连续刷新或下载大量内容,那会把测试变成流量负载测试。系统电池统计也未必在操作后立即反映变化;查看时确认选择的仍是同一类统计时段。
如果关闭 On Demand 后电池用量占比下降,但同时连接时长、后台请求或网络环境也变了,就只能说两次记录存在差异,不能单独认定按需连接是原因。更有参考价值的现象是:同一地点和使用习惯下,网络切换次数、重新连接次数与后台活动是否一起变化。
频繁重连时,先查网络与提示
发现 Home 状态反复变化时,先看时间点:是否刚从 Wi-Fi 切到蜂窝网络,是否进入弱信号区域,或是否在设备解锁后才恢复连接。连接失败后的再次尝试可能增加网络活动;持续连接也可能承载其他应用的请求。两者在电池页面都可能表现为 Shadowrocket 有后台用量,因此需要结合实际状态判断。
下列英文提示是网络请求可能出现的错误原文,不代表 On Demand 的专属报错。遇到提示时,记录发生时的网络类型与 Home 状态,再按对应方向检查;不要仅凭错误文字推断是电池或路由规则问题。
报错:The request timed out.
原因与解法:请求在规定时间内没有收到响应,可能与当前网络质量或目标连接不可达有关。先在同一网络下重试,再对照 Home 状态和网络切换时间;若持续发生,核对自己已有服务的连接资料。
报错:The network connection was lost.
原因与解法:请求过程中网络连接中断。检查 Wi-Fi 信号及蜂窝网络切换是否与报错同步,待网络稳定后重试,再观察 On Demand 是否反复触发连接。
若错误只在某个 Wi-Fi 出现,先保持其他设置不变,在稳定网络下复测。若只在更换网络后出现,重点记录切换前后系统 VPN 状态与 Home 状态。若网络稳定却仍频繁失败,再检查当前 Config 和自己已有的服务器信息;订阅更新属于另一项操作,不宜在电池对照测试中途进行。
该开还是该关:按使用场景决定
需要设备在符合条件时自动建立连接,且网络切换后能接受可能发生的重新连接,就可以保留 On Demand,并只设置实际需要的条件。经常手动控制连接、希望明确区分使用与停用时段,或正在排查异常后台活动,可以暂时关闭 On Demand,改由 Home 控制连接。两种方式没有统一的省电结论,应以同一设备上的可复核记录为准。
- 固定网络、持续使用:先检查是否有持续网络请求;保持连接期间的用量不等于 On Demand 本身的用量。
- 频繁切换网络:重点记录 Wi-Fi、蜂窝网络与 VPN 状态的变化顺序,再考虑收紧 On Demand 条件。
- 仅偶尔使用:可测试关闭 On Demand 后手动连接的流程,并确认不使用时 Home 显示的连接状态。
- 需要自动连接:保留 On Demand 时定期核对触发条件,避免测试结束后留下不符合实际需要的设置。
最后复核一次 Settings → On Demand、Home 和系统电池页面。如果调整后读数仍高,继续检查后台网络活动与连接稳定性,而不是反复切换 Global Routing 来寻找单一的「省电模式」。Shadowrocket 是通过 App Store 获取的 Apple 平台应用;iPhone、iPad 的系统要求以 App Store 页面标注为准。本文只讨论客户端设置,连接所用资料以用户自己已有的信息为准。