Shadowrocket(小火箭)在電池用量中的占比偏高,不代表它消耗了相同比例的整機電量。先釐清流量處理、背景連線與異常重試,再決定要保持連線或設定 On Demand。本文適合使用自己的服務商與訂閱,並想排查 iPhone 或 iPad 待機耗電的使用者;依步驟建立對照紀錄,判斷按需連線是否適合目前的網路環境。
一、先看電量變化,再看 App 占比
在系統「設定 → 電池」中,先選擇相同的統計時段,再查看電量曲線、螢幕使用情況與 Shadowrocket 的活動紀錄。App 列表中的百分比代表該統計範圍內歸屬於該 App 的電池用量占比,不是它直接消耗了整顆電池的多少百分比。整機耗電較少時,持續處理網路流量的項目也可能顯示較高占比。
例如,電量從 80% 降到 70%,而 App 列表中 Shadowrocket 顯示 30%,不能解讀為它單獨耗掉了 30 個電量百分點。電池頁面呈現的是系統估算的歸屬統計,也不宜直接用這兩個數字計算 App 的精確耗電量。更值得留意的是:在相近條件下,整機電量是否持續加速下降,是否伴隨發熱或連線失敗。
以下數字僅為紀錄方法示例,並非實測結果或續航保證。若某個時段正在同步照片、播放影片或下載大型檔案,請先將這段活動單獨標記,不要直接和幾乎沒有流量的待機時段比較。
二、背景常駐的耗電來自哪些環節
Shadowrocket 未顯示在前景時,系統仍可能執行已連線的 VPN 網路延伸功能。它會依設定處理進入通道的流量,其中可能包含其他 App 的背景請求。離開主畫面不代表網路延伸功能已停止,因此不能以「App 已從多工畫面滑掉」判斷連線是否中止。
- 流量處理:影片播放、檔案傳輸與背景同步會增加封包處理、加解密及網路收發的工作量。請一併記錄實際流量與電量變化。
- 維持連線:部分連線需要保持連線狀態。實際頻率取決於協定、設定與遠端要求,不能將所有協定都視為相同的背景行為。
- 網路不穩定:訊號微弱、Wi-Fi 與行動網路切換,或遠端無法連線,都可能觸發重新建立連線或重試。行動網路無線模組本身的耗電也會影響整機結果。
- 診斷與測試:持續執行連線測試、反覆測速或長時間查看詳細記錄,都會增加額外活動。排查完成後,請停止手動重複測試。
Shadowsocks、VMess、VLESS、Trojan、Hysteria2 與 WireGuard 的傳輸方式和連線機制各不相同,但無法只憑協定名稱排出固定的耗電高低。請在自己的服務商支援範圍內,比較實際網路品質、連線成功率與重試情況;不要為了省電任意刪除服務商要求的參數。
三、常駐連線與 On Demand 的差異
保持連線的重點是讓網路延伸功能持續可用;On Demand 則由系統依據按需規則與網路事件,決定是否建立連線。它不代表「只有開啟 Shadowrocket 主畫面時才連線」,也不保證鎖定螢幕後會自動中斷。其他 App 發出的請求,也可能在規則允許時觸發連線。
| 設定或模式 | 主要用途 | 耗電排查重點 |
|---|---|---|
| 保持連線 | 讓現有 VPN 連線持續可用 | 確認是否有持續流量、保活或異常重新連線 |
| On Demand | 依系統規則與網路條件觸發連線 | 確認規則是否過於寬鬆,導致頻繁或持續觸發 |
| Global Routing → Config | 依目前 Config 的規則選擇策略 | 確認實際命中的規則,不要只看模式名稱 |
| Global Routing → Proxy | 以全域代理模式處理流量 | 可能擴大透過代理處理的流量範圍 |
| Global Routing → Direct | 採用全域直連模式 | 不代表 VPN 網路延伸功能已關閉 |
| Global Routing → Scene | 依已設定的 Scene 選擇路由行為 | 先確認 Scene 條件與實際生效結果 |
結論:先區分連線觸發與流量分流
要控制何時連線,請檢查 On Demand;要控制請求採用哪種策略,請檢查 Global Routing 與 Config。只將 Proxy 改成 Direct,無法取代中斷連線,也不能據此確認背景網路延伸功能已停止。
四、依序進行 On Demand 對照測試
測試前,請確認目前設定可正常使用,並保存原有設定。每次只調整一個變數:先比較連線方式,再考慮路由或協定。若同時更換網路、遠端與規則,即使電量有所改善,也無法確認是哪項調整發揮作用。
-
記錄基準狀態
在系統「設定 → 電池」記錄開始與結束時的電量、時間和螢幕活動;在 Shadowrocket 的 Home 記錄連線狀態與 Global Routing。可將 60 分鐘設為一個觀察時段,期間維持相近的使用方式。
-
檢查按需規則
前往 Shadowrocket 的 Settings → On Demand,確認功能是否已啟用及目前條件。選單中的實際規則選項以目前介面為準;先記錄原有狀態,不要直接換上來源不明的規則。
-
檢查系統狀態
前往系統「設定 → 一般 → VPN 與裝置管理 → VPN」,查看 Shadowrocket 對應的設定與連線狀態。若系統提供「按需連線」開關,也請記錄其狀態;不同系統版本的顯示位置可能略有不同。
-
確認實際觸發情況
返回 Home 觀察連線狀態,再執行一次日常請求。分別記錄鎖定螢幕、解鎖及切換 Wi-Fi 後的結果。若中斷後立即重新連線,請先檢查 On Demand 條件與背景請求,不要直接認定連線開關失效。
-
進行單一變數對照
記錄目前狀態後關閉 On Demand,再於 Home 中斷連線,並確認系統 VPN 狀態已變更。選擇長度相同、負載相近的時段進行觀察;測試結束後,請恢復所需連線,避免影響後續網路存取。
短時間測試只能協助找出明顯異常,不能代表全天續航表現。若兩次測試的訊號強度、螢幕亮起時間或背景同步差異很大,請重新測試。中斷連線後,部分請求可能無法完成、流量也自然減少;不要直接將結果描述為 App 效率提升。
五、頻繁重新連線時,先查明失敗原因
若耗電偏高並伴隨存取卡頓,請先檢查連線是否穩定。記錄中的單次失敗不一定代表異常;只有同一目標在短時間內反覆失敗,且與請求重試或狀態反覆變化相符時,才適合作為排查線索。以下是可能出現的底層錯誤訊息,不代表每種連線都會顯示相同文字。
錯誤:Operation timed out
原因:連線未能在等待期限內完成,可能與網路封包遺失、目標無法連線或遠端回應有關。
處理方式:先在穩定的網路環境重試一次,再向自己的服務商確認目前使用的位址與連接埠;不要以連續測速取代原因確認。
錯誤:Connection refused
原因:目標位址可連線,但連線遭到拒絕;可能是連接埠未監聽、服務狀態變更或存取策略限制所致。
處理方式:核對現有設定中的伺服器與連接埠,依自己的服務商提供的有效參數修正;不要自行猜測並逐一嘗試不同連接埠。
若自己的服務商確認設定已變更,可在 Home 更新現有 Subscribe 項目,再確認目前選取的設定。更新訂閱是為了取得最新設定,並非修復所有連線錯誤的通用方法;排查耗電時,不要頻繁重複更新。
- 只有行動網路異常:先比較訊號與網路涵蓋範圍,保留相同設定,觀察在穩定 Wi-Fi 下是否仍會重複失敗。
- 切換網路後發生異常:檢查是否只是短暫重新建立連線;若長時間無法恢復,再查看對應時間的記錄。
- 只有某個遠端異常:確認該項設定參數與服務狀態,避免一次修改所有現有設定。
- 提供排查資訊:保留錯誤原文、發生時間與網路類型;分享前請遮蔽訂閱連結、憑證、伺服器位址及個人請求紀錄。
六、依使用情境選擇,不必預設全開或全關
若工作期間持續需要同一條連線,穩定保持連線通常比反覆手動切換更方便排查。若只在特定網路條件下需要連線,可考慮使用 On Demand,但應確認條件確實限制了觸發範圍。將規則設為任何網路都連線,不一定能縮短連線時間。
| 使用情境 | 優先檢查項目 | 判斷依據 |
|---|---|---|
| 長時間持續使用 | 連線穩定性、Global Routing 與實際流量 | 減少失敗重試,比反覆切換開關更有助於找出問題 |
| 僅在特定條件下使用 | Settings → On Demand 中的條件 | 條件之外是否仍持續連線,以及條件之內能否正確觸發 |
| 夜間待機時電量明顯下降 | 背景同步、訊號環境與按需觸發 | 相近待機時段的整機電量變化是否可重現 |
| 中斷後立即重新連線 | App 與系統中的按需連線狀態 | 先關閉按需觸發,再確認手動中斷連線的結果 |
使用 Config 時,DOMAIN-SUFFIX 會依網域後綴比對,IP-CIDR 依位址網段比對,GEOIP 依 IP 地理位置比對,FINAL 則處理前面規則未命中的請求。規則順序與目標策略會決定實際路徑;設定了規則,不代表所有請求都會直接連線。不要只為了降低電池用量列表中的占比,就將 FINAL 或需要代理的請求全部改成 DIRECT。
結論:以可重現的電量變化為準
保留能滿足存取需求、連線穩定且對照結果正常的設定。若只有 App 占比升高,而整機待機耗電、溫度與存取狀況沒有明顯變化,就不必只為了降低這個百分比而反覆修改設定。