Shadowrocket(小火箭)的耗电不能仅凭 VPN 图标或后台时长判断。On Demand 控制自动连接的条件,不是固定的省电开关。本文面向已持有自己服务信息的 iPhone、iPad 用户,依次说明隧道常驻、Wi-Fi 与蜂窝网络条件、连接失败重试和电池对照方法,帮助区分正常转发开销与需要排查的异常活动。
先判断:连接常驻不等于持续高负载
Shadowrocket 建立连接后,系统通过网络扩展处理相关流量。返回主屏幕、锁屏或切换到其他应用,并不必然结束这条隧道;反过来,隧道存在也不表示处理器一直处于高负载。实际电量变化取决于流量大小、加密处理、网络信号、连接维护以及失败后的重试频率。
浏览视频、同步照片、下载大文件时,屏幕、无线通信和数据处理都会耗电。部分网络处理可能计入 Shadowrocket 的电池用量,因此不能把它在系统电池页面中的占比,直接解释为“客户端额外消耗了同样比例的整机电量”。占比还会受到其他应用用电减少的影响。
- 空闲但保持连接:可能仍有连接维护或其他应用的后台请求,不能理解为完全没有网络活动。
- 持续传输:应同时观察正在使用的应用、流量和设备温度,而不是只看 VPN 标识。
- 失败后反复连接:即使网页没有成功打开,也可能持续产生握手、解析和重试开销。
On Demand 控制什么,不控制什么
在 Shadowrocket 的 Settings → On Demand 中配置按需连接条件后,系统可根据已保存的规则决定是否触发 VPN 连接。它的用途是让连接行为符合使用场景,例如在指定网络环境下连接,而不是让每次请求都单独启动、传输完成就立即关闭隧道。
On Demand 与 Home → Global Routing 是两个层次。前者处理连接触发条件;后者决定已进入隧道的流量如何处理。把 Global Routing 改成 Direct,不等于关闭 VPN,也不等于停用 On Demand。选择 Config 时,具体去向取决于当前配置中的规则与策略。
| 设置项 | 主要作用 | 电量判断边界 |
|---|---|---|
| Settings → On Demand | 配置自动连接的触发条件 | 连接次数与持续时间可能改变,不能保证更省电 |
| Global Routing → Proxy | 采用全局代理路由姿态 | 仍取决于实际流量与远端连接质量 |
| Global Routing → Direct | 采用全局直连路由姿态 | 不代表网络扩展已停止 |
| Global Routing → Config | 按当前配置匹配规则与策略 | 需要结合实际命中结果检查 |
按 Wi-Fi、蜂窝网络设置连接条件
先写清楚“在哪些网络需要连接”,再配置 On Demand。不要把“Wi-Fi 一律关闭、蜂窝一律开启”当作通用答案:家中 Wi-Fi、公共 Wi-Fi 与蜂窝网络可能具有不同的访问需求,网络类型本身也不能单独证明其安全性。具体选项和排列以当前界面为准。
-
确认手动连接
先在 Home 选择自己已有的服务器并连接,确认所需网页能够打开。手动连接尚未正常时,先排查服务器和配置,避免把连接故障误认为 On Demand 条件问题。
-
打开条件设置
进入 Settings → On Demand,检查当前启用状态和已保存的条件。修改前记录原设置,尤其是网络类型、Wi-Fi 名称以及对应连接动作。
-
区分网络条件
按界面提供的 Wi-Fi、蜂窝网络条件设置所需动作。若使用 Wi-Fi 名称匹配,应准确核对 SSID;名称相近的两个网络不能直接视为同一个匹配对象。
-
验证网络切换
保存后分别连接目标 Wi-Fi、另一条 Wi-Fi 和蜂窝网络,每次等待网络稳定,再回到 Home 检查连接状态,并实际打开需要访问的网页。
-
测试锁屏恢复
在同一网络锁屏数分钟后解锁,再测试访问。记录是否重新连接、是否短暂不可用;需要临时停用时,先停用 On Demand,再关闭 Home 连接。
频繁进出 Wi-Fi 覆盖范围时,设备可能多次切换网络,已有连接也可能需要恢复。若设置使隧道不断建立和结束,节省空闲连接时间的收益可能被重复连接抵消。通勤场景应优先检查切换是否稳定,再决定是否缩小自动连接的范围。
用可重复的电池对照替代主观判断
在 iPhone 或 iPad 的系统设置中进入“电池”,选取相近时段查看电池电量、屏幕活动和应用用量。后台活动时间只能说明存在相关活动,不能单独换算为耗电功率。系统页面显示方式随系统变化,设备系统要求以 App Store 页面标注为准。
建议先做两组各 60 分钟的记录,保持同一台设备、同一 Wi-Fi、近似屏幕亮度和相同使用任务。以下是记录方案,不是实测结果;不要把短时间下降的几个百分点直接外推为全天续航。
| 对照组 | 连接设置 | 记录内容 |
|---|---|---|
| A:稳定连接 | 停用 On Demand,手动连接 60 分钟 | 起止电量、亮屏时长、任务、温度感受、连接中断次数 |
| B:按需连接 | 启用目标条件,执行同样任务 60 分钟 | 同样指标,另记自动连接与网络切换次数 |
| C:暂停基线 | 停用 On Demand 并关闭连接 | 仅在任务可正常完成时比较,避免访问失败导致任务不一致 |
- 两组都不要一边充电一边测试,也不要一组播放视频、另一组只锁屏待机。
- 下载、系统更新、照片同步等额外任务应记录下来;出现这些任务的时段不适合作为直接对照。
- 蜂窝测试应尽量保持地点和信号条件接近。弱信号下的无线通信开销,可能掩盖连接设置带来的差异。
- 若结果接近,换一个相似时段重复记录;单次差异不足以证明某种设置必然省电。
异常耗电先查重试,再改协议或规则
当设备空闲却明显发热,先观察是否存在持续流量或反复连接。核对 Home 当前选中的服务器,再检查自己已有服务的地址、端口、认证信息与传输参数。不要为了测试而随意改端口;例如原服务使用 443,也只有远端确实监听该端口且参数一致时才能连接。
下面两条是网络错误中可能出现的原文,不保证每种协议都使用同样的提示。只有日志实际出现对应信息时才按该项排查;没有出现时,不应把它当作已确认原因。
报错:Connection timed out
原因与解法:连接在规定时间内未完成,可能涉及远端无响应、路径不通或网络不稳定。先核对已有服务器的地址与端口,在稳定 Wi-Fi 下重试,再用同一服务器对比蜂窝网络;不要连续手动触发大量重连。
报错:Network is unreachable
原因与解法:当前网络没有可用的目标路由,网络切换期间也可能暂时出现。先确认设备基础联网正常,等待 Wi-Fi 或蜂窝网络稳定,再检查连接;持续发生时核对目标地址及当前网络的可达性。
如果没有重连但传输量很大,应先找出正在请求的应用,再检查 Global Routing。使用 Config 时,可结合请求记录核对实际规则命中及最终策略;仅看到配置里存在 DOMAIN-SUFFIX、GEOIP、IP-CIDR 或 FINAL,并不能证明相关流量按预期处理。规则决定去向,不会自动消除流量。
- 订阅更新:只在确有需要时测试手动更新,更新失败后先查自己已有链接的有效性,不要把连续刷新作为耗电排查方法。
- 协议选择:Shadowsocks、VMess、VLESS、Trojan、Hysteria2、WireGuard 的参数与网络表现不同,不能脱离设备、服务器和网络条件给出固定省电排名。
- 日志隐私:记录故障时保留时间、网络类型与错误信息即可;分享前移除订阅 token、密码和其他认证内容。
常见问题:常驻、关后台与自动重连
打开 On Demand 就一定更省电吗?
不一定。先在 Settings → On Demand 检查条件是否真的减少不需要的连接,再用相同网络和任务对照电池记录。若条件一直要求连接,它与持续连接的使用时长可能接近。
从后台划掉应用,为什么仍显示连接?
应用界面与系统管理的 VPN 网络扩展不是同一层。需要暂停时,打开 Shadowrocket,先在 Settings → On Demand 停用自动触发,再到 Home 关闭连接,并核对系统 VPN 状态。
锁屏后还在耗电,是不是异常?
先看系统“电池”中的对应时段,再检查是否有同步、音频播放、后台请求或连接重试。锁屏不代表设备停止联网;只有在任务相近的对照中持续出现明显差异,才适合继续定位。
一切换蜂窝网络就重连,应该改哪里?
先在 Settings → On Demand 检查蜂窝网络条件与 Wi-Fi 条件是否符合预期,再在信号稳定处重复切换。网络地址改变可能使原连接需要恢复;短暂恢复与持续循环失败应分开记录。
暂时不需要连接,怎样避免自动恢复?
先停用 Settings → On Demand 中的按需触发,再关闭 Home 连接。之后重新打开网页并检查状态,确认没有其他系统自动化或设备管理设置要求连接;恢复使用时再启用原条件。