小火箭后台耗电排查:On Demand 按需连接开与不开的取舍

从 iOS 电池用量页定位耗电来源,讲清 On Demand 自动重连的触发条件,以及 Wi-Fi 与蜂窝场景下如何配置才更省电。

本文速览

Shadowrocket(小火箭)的 On Demand 是按条件触发 VPN 连接的机制,不是省电开关。排查应先对齐 iOS 电池统计时段,再区分持续流量、网络切换和连接重试。本文适合已经持有自己的服务商与订阅、希望定位后台耗电的用户,给出开关取舍与单变量验证步骤,不预设某一种设置一定更省电。

一、先看 iOS 电池用量,不用占比直接判断耗电

在 iPhone 或 iPad 的系统设置中打开“电池”,选择问题发生的日期与时段,再查看应用耗电、屏幕活动及后台活动信息。统计入口与显示名称可能随系统变化;应以设备实际界面为准。先记下开始电量、结束电量、是否充电,以及当时连接的是 Wi-Fi 还是蜂窝网络。

电池列表中的百分比通常表示所选时段内的耗电份额,并不等于设备损失了相同比例的电量。例如设备在该时段总共下降 10 个百分点,某应用显示占比 20%,不能理解为该应用让整机下降了 20 个百分点。后台活动时间也不等于处理器一直满负荷工作。

  1. 对齐时段:选择出现异常掉电的小时,避免拿整天统计解释十几分钟的网络故障。
  2. 核对实际任务:记录照片同步、文件传输、视频播放等活动。流量经 VPN 网络扩展处理时,不能只凭一个应用的统计份额确定最初发起请求的应用。
  3. 排除明显干扰:记录弱信号、设备发热、充电和系统后台任务;这些因素会影响整机耗电。
  4. 保留基线:修改前记录 Home 的连接状态、Global Routing 当前选项及 Settings → On Demand 的设置。

二、On Demand 的触发条件与后台行为

进入 Shadowrocket 的 Settings → On Demand,检查总开关以及当前界面提供的网络条件。On Demand 将按需连接规则交给系统;在网络条件、规则动作与系统连接判断满足时,系统可以发起 VPN 连接。开启它不等于只要熄屏就断开,也不等于每个网络请求都重新建立一次隧道。

网络条件变化 系统评估规则 触发连接动作 建立隧道 处理后续流量

从 Wi-Fi 切换到蜂窝、重新接入无线网络,可能让系统重新评估规则;是否连接仍取决于实际配置与网络状态。已经建立的连接也可能在网络切换中恢复或重建,不能把所有恢复动作都归因于 On Demand。服务器不可达、认证错误和底层网络不稳定,应单独排查。

不建议把从后台划掉 Shadowrocket 当作日常断开步骤。应用界面与系统管理的 VPN 网络扩展不是同一个生命周期,关闭界面不能替代检查连接开关和按需规则。

三、Wi-Fi 与蜂窝分别怎样取舍

选择依据是使用需求和网络稳定性,而不是“Wi-Fi 必开、蜂窝必关”。固定 Wi-Fi 下的长时间低流量连接,与通勤途中频繁切换基站、不断重试的连接,不具备相同的耗电条件。先让连接稳定,再判断自动触发是否值得保留。

场景建议起点验证重点
固定且稳定的 Wi-Fi有持续连接需求时保留 On Demand锁屏期间是否有大量同步流量,是否重复出现连接错误
蜂窝信号较弱暂时关闭自动触发,按需手动连接作对照先判断掉电是否与弱信号及连接重试同时出现
Wi-Fi 与蜂窝频繁切换先用单一稳定网络验证,再恢复切换场景错误是否集中在切换时间,而非静止连接期间
仅短时使用连接可关闭 On Demand,由 Home 手动管理用完后确认连接已断开,后续任务是否仍需连接
需先认证的公共 Wi-Fi先完成网络登录,再测试 VPN底层网络能否正常访问,认证是否尚未完成

结论:先在稳定网络验证,再决定是否保留自动触发

如果固定 Wi-Fi 下连接稳定,而切换网络时才出现掉电和错误,应优先检查切换过程与可达性;不要同时修改协议、规则和 On Demand,否则无法识别改善来自哪一项。

如果实际界面提供针对网络类型或 SSID 的条件,可按需要逐项设置并测试;不要假设所有系统和界面都提供同一套选项。关闭某个网络条件,只改变对应的触发逻辑,不代表该网络上的所有请求都会自动改为 DIRECT。

四、出现连接错误时,先止住重复失败

在问题发生时检查连接记录中的时间、目标与错误内容。下面列出的是网络日志中可能出现的标准错误短语,并非保证每次都会显示的固定弹窗;具体文字可能附带系统或协议上下文。一次错误不能证明耗电异常,只有错误密集重复且时间与掉电吻合,才值得进一步关联。

报错:Connection refused

原因与解法:目标端口可能未监听,或连接被明确拒绝——核对用户已有服务器的地址与端口,并向自己的服务商确认服务状态,不用连续切换 Home 开关替代检查。

报错:Operation timed out

原因与解法:连接或读写未在规定时间内完成,可能涉及链路不可达、丢包或目标无响应——先在稳定 Wi-Fi 下复测同一服务器,再与蜂窝结果对照,避免仅凭超时认定认证信息有误。

  1. 记录错误发生时间,检查是否紧邻 Wi-Fi 断开或蜂窝切换。
  2. 核对 Home 中选中的服务器,使用 Connectivity Test 检查当时可达性;单次成功不能证明后台一直稳定。
  3. 若同一错误持续重复,临时关闭 On Demand 并断开连接,待网络或服务器问题解决后再测试。
  4. 确有地址、端口或认证信息变更时,再更新用户自己的订阅;更新后重新核对所选服务器,不将反复更新订阅当作通用省电操作。

协议也会影响排查方向。例如 Hysteria2 基于 QUIC,使用 UDP;如果当前网络限制 UDP,应先核对协议可达性。不能仅因为另一个协议使用 TCP,便推断它在所有设备和网络中都更省电。服务器端口以用户已有配置为准,不要随意改成 443 来尝试解决连接问题。

五、Global Routing 与 On Demand 分别控制什么

On Demand 负责按条件触发连接,Global Routing 决定连接中如何选择流量处理路径,两者不是同一个开关。Home → Global Routing 下的 Proxy、Direct、Config、Scene 应按当前用途选择;其中 Scene 的实际效果取决于对应场景配置,不能直接视为一种固定省电模式。

使用 Config 时,DOMAIN-SUFFIX 按域名后缀匹配,IP-CIDR 按地址网段匹配,GEOIP 按地址地理数据库匹配,FINAL 承接前面未匹配的请求。DIRECT、PROXY 和 REJECT 是策略结果,不是电池档位。规则顺序会影响结果,不应为了降低电池列表占比而随意更改业务所需规则。

六、用单变量对照确认是否真的改善

以下是一套建议的记录方案,不是实测续航成绩。先在同一地点、同一网络和相近电量下做两组观察,保持所选服务器、Global Routing、屏幕状态和后台任务一致,只改变 On Demand。每组开始前都在 Home 建立同样的连接状态,以免把“是否连接”的差异误算成“是否按需触发”的差异。

2 组
开启与关闭 On Demand 分别记录
30 分钟
每组建议观察窗口,非续航承诺
1 项
每轮仅改变一个设置变量
  1. 第一组:开启 On Demand,连接后锁屏,记录起止电量、网络变化和错误时间。
  2. 第二组:关闭 On Demand,保持手动连接,按相同条件观察;若连接中途断开,应记录并说明两组状态已不再一致。
  3. 补充使用场景:若真正要比较“持续自动连接”与“用完手动断开”,另做一轮测试,并明确这次同时改变了连接持续时间。
  4. 复查:对照系统电池页和连接记录;短时差异只有一两个电量百分点时,应延长观察并重复测试,不直接下结论。

结论:保留可解释、可复现的设置

需要持续连接且网络稳定时,可保留 On Demand;只在固定时段使用时,可采用手动连接。若关闭后仍同样掉电,下一步应查持续传输、弱信号和连接错误,而不是继续围绕按需开关反复切换。

问题消失后,逐项恢复日常设置,每恢复一项都确认实际连接状态。向自己的服务商反馈时,可提供发生时间、网络类型和去除敏感信息的错误内容;不要公开订阅地址、认证信息或完整连接凭据。更多连接与规则操作可在本站教程和规则手册中核对。

App Store 下载