Shadowrocket 后台耗电排查:On Demand 按需连接该开还是该关

先核对电池用量和连接记录,再决定是否使用 On Demand。连接保持时间、网络切换与请求活动都可能影响读数,单看一个百分比不足以判断原因。

本文速览

适合已在 iPhone 或 iPad 使用 Shadowrocket、发现电池用量偏高或连接反复建立的读者。本文按系统读数、Settings → On Demand、网络切换和对照测试的顺序排查,最后给出持续连接与按需连接的取舍方法。

先读懂电池用量,再判断是否异常

在 iPhone 的系统「设置 → 电池」中,先选定同一个统计时段,再查看 Shadowrocket 的电池用量占比与后台活动。占比表示它在该时段已统计用电中的份额,不等于电池总容量的消耗比例。如果同一时段其他应用使用较少,Shadowrocket 的占比也可能随之升高。iPad 上同样应从系统电池页面核对,具体页面排列以设备显示为准。

记录观察时段、电量变化、屏幕开启时间,以及 Shadowrocket 在 Home 中是否保持连接。还要记下当时使用的是 Wi-Fi 还是蜂窝网络、有没有频繁走出信号覆盖区。把这些条件放在一起,才能区分持续传输、后台保持连接和反复建立连接;一次截图无法说明耗电由 On Demand 单独造成。

2 处
先核对:系统「设置 → 电池」与 Shadowrocket 的 Home 连接状态
4 项
记录条件:时段、网络、连接状态、屏幕使用情况

判断:先固定观察条件

比较开关 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 姿态和测试所用网络。已有服务连接所需的资料也应保持不变;在测试中同时切换服务器、更新订阅或更换规则,会使结果难以归因。

  1. 记录基线

    打开系统「设置 → 电池」,选定统计时段,记下 Shadowrocket 用量与后台活动;再到 Home 记录连接状态和当前网络。

  2. 核对条件

    进入 Shadowrocket 的 Settings → On Demand,查看开关和已设置的触发条件。先记录原值,不要同时改动 Global Routing 或 Config。

  3. 观察关闭状态

    关闭 On Demand 后,按自己平时的方式控制 Home 连接。观察一个完整的日常使用时段,记录 Wi-Fi 与蜂窝网络切换及连接中断的次数。

  4. 观察开启状态

    在相近的使用时段恢复 On Demand,仅启用实际需要的条件。保持同一份配置与相近的网络使用方式,记下是否出现反复连接。

  5. 比较并恢复

    对照系统电池页面、后台活动和连接现象,再决定保留哪组设置。若观察条件差异过大,先恢复原设置,择时重新比较。

测试中可以用固定的日常操作作为参照,例如同一网络下打开相同的网页,再让设备锁屏一段相近时间。不要为了制造读数而连续刷新或下载大量内容,那会把测试变成流量负载测试。系统电池统计也未必在操作后立即反映变化;查看时确认选择的仍是同一类统计时段。

如果关闭 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 控制连接。两种方式没有统一的省电结论,应以同一设备上的可复核记录为准。

最后复核一次 Settings → On Demand、Home 和系统电池页面。如果调整后读数仍高,继续检查后台网络活动与连接稳定性,而不是反复切换 Global Routing 来寻找单一的「省电模式」。Shadowrocket 是通过 App Store 获取的 Apple 平台应用;iPhone、iPad 的系统要求以 App Store 页面标注为准。本文只讨论客户端设置,连接所用资料以用户自己已有的信息为准。

核对应用与继续上手

先在正版核验页确认 App Store 产品信息;需要重新梳理 Home、Config 和 Settings 的操作,可继续阅读快速上手教程。

去正版核验页 看教程
App Store 正版核对