Shadowrocket(小火箭)的 On Demand 用來依條件觸發 VPN 連線,並非省電開關。本文適合已有服務商與訂閱、想確認背景耗電來源的 iPhone 和 iPad 使用者:先分清自動觸發與連線後的流量處理,再查看系統電池記錄,最後在相同網路與設定下比較開啟和關閉的情況,決定保留自動連線或改為手動連線。
On Demand 和背景連線不是同一回事
先說結論:不能只因為 On Demand 已開啟,就認定它是耗電原因;也不能只因為關閉它,就認定 VPN 已中斷。On Demand 決定系統何時依既有條件發起連線;VPN 建立後,仍會處理符合路由設定的網路請求。實際耗電也會受到請求數量、網路訊號、連線重試、伺服器回應及螢幕使用情況影響。
在 Shadowrocket 中前往 Settings → On Demand,先確認目前是否已啟用及既有條件。系統會依適用的按需連線條件判斷是否建立連線;條件可能與目前網路環境及網路存取有關。這不代表「只有開啟某個網頁才會運作」,也不保證鎖定螢幕後會立即停止。可設定的項目請以 App 內實際顯示為準,勿照搬與目前介面不符的開關名稱。
這個流程區分兩個階段:前半段是觸發連線,後半段是連線建立後的運作。即使 Shadowrocket 的前景畫面已關閉,系統 VPN 通道仍可能保持連線;反過來說,前景畫面沒有開很久,也不代表背景一定沒有處理流量。離開前景畫面不是可靠的中斷連線或省電驗證方式。
先從 iPhone 電池頁面查看三項資訊
開啟系統「設定 → 電池」,選擇頁面提供的時間範圍,再查看 App 清單。不同系統的圖表與時間範圍名稱可能不同,請以裝置上的實際介面為準。不要只截取單一 App 的百分比:這個數字通常代表所選範圍內的耗電占比,不是該 App 單獨讓電池電量下降了多少個百分點。
- 確認統計時段。選擇涵蓋問題發生時間的範圍;若圖表支援選取小時或日期,請縮小到電量異常下降的時段。記錄是否正在充電、螢幕是否長時間開啟,以及當時使用 Wi-Fi 或行動網路。
- 查看活動說明。點開 Shadowrocket 的項目,或使用頁面提供的活動顯示方式,確認是否有背景活動。系統對網路延伸功能的耗電歸屬有自己的統計方式,不能把清單中的單一項目當作整條網路連線的獨立耗電測量。
- 確認同期其他 App。若影片播放、照片同步、系統更新或大型檔案傳輸也在電量下降時發生,應一併納入判斷。請求即使由其他 App 發起,也可能經過 VPN;「背景活動時間較長」不等於「異常耗電」。
例如,某個時段 Shadowrocket 顯示的占比比昨天高,可能是其他 App 今天用得較少,而非 Shadowrocket 的絕對耗電量增加。應一併查看該時段整部裝置的電量曲線、活動情況與使用工作。以下數字是建議的觀察安排,不代表產品效能或實測續航結果。
結論:使用相同時段比較,不要只看占比排名就關閉設定
先選出電量明顯下降的時段,再確認網路工作與重新連線記錄;若只有占比提高、整部裝置的耗電速度並未加快,暫時不必為了這個數字改變連線方式。
按照固定步驟進行開關比較
比較測試前要先釐清問題:是「自動連線是否頻繁觸發」,還是「保持連線是否比中斷更耗電」。兩者不能混在同一次測試中。若兩輪都手動維持相同的 VPN 連線,On Demand 開關的差異主要在自動觸發行為,不應期待它改變相同流量的處理成本。
- 記錄目前狀態。在 Home 記下目前的連線狀態與 Global Routing 選項,在 Config 確認目前設定,再到 Settings → On Demand 記錄原本的狀態。只需記錄,排查耗電時不要順便修改規則、協定或訂閱。
- 固定測試環境。兩輪都使用同一處 Wi-Fi、相近的螢幕亮度與相同工作,並保持低耗電模式狀態一致。不要第一輪在行動網路訊號微弱時測試,第二輪改用穩定 Wi-Fi 後,便把差異歸因於 On Demand。
- 觀察開啟狀態。維持目前的按需條件,記錄開始與結束時的電量、VPN 是否自動建立連線、是否多次中斷重連,以及鎖定螢幕期間是否有實際同步工作。
- 觀察關閉狀態。關閉 On Demand。若要測試自動重新連線,先在 Home 中斷連線,再觀察是否仍有連線行為;若要測試連線期間的處理耗電,則手動連線,並維持與上一輪相同的工作。
- 複核並還原。將結果與系統電池頁面對照;若差異很小、統計時段不吻合或環境變化明顯,應再次觀察。完成後還原所需設定,不要為了測試而長時間中斷必要連線。
Global Routing 會影響流量路徑,但不能取代連線開關
Global Routing 與 On Demand 負責不同層面。前者決定請求的路由方式,後者負責依條件觸發連線。將 Global Routing 改為 Direct,不代表系統 VPN 通道已中斷;改為 Config,也不代表不會有符合代理策略的請求。
| 介面項目 | 確認重點 | 排查時的限制 |
|---|---|---|
Proxy | 採用代理路由方式,並確認目前選取的出口可用。 | 不能只根據這項選擇推斷耗電量;仍須確認流量與連線品質。 |
Direct | 採用直接連線方式。 | 這不是 VPN 中斷按鈕,不適合用來判斷「通道已停止」。 |
Config | 依目前設定中的規則與策略處理請求。 | 比較時維持相同設定,避免同時變更規則而造成流量路徑不同。 |
Scene | 確認既有情境設定及其實際套用結果。 | 情境設定可能改變比較條件,應記錄實際生效的路由行為。 |
使用 Config 時,DOMAIN-SUFFIX、IP-CIDR、GEOIP 和 FINAL 等規則會影響請求的比對結果,但不應把「修改更多規則」當成通用的省電方法。先確認特定請求符合的策略是否符合預期,再判斷是否有重複存取或失敗重試;沒有證據時,保留目前設定更方便進行比較。
持續重新連線時,先處理網路錯誤
訊號微弱、網路切換、伺服器無法連線及參數不符,都可能造成連線反覆嘗試。若關閉 On Demand 後重連情況減少,只能表示自動觸發參與了這個過程,不能據此排除底層連線故障。應先在穩定網路下測試自己已有的連線,並確認位址、連接埠與協定參數;不要先靠更換協定掩蓋錯誤。
以下是網路記錄中可能出現的錯誤片段,不是每次故障都會出現的固定提示。只有實際記錄包含相應原文時,才依該方向檢查;不同連線階段可能出現相同片段,仍須配合前後記錄判斷。
錯誤:i/o timeout
原因與處理方式:某次網路讀寫未能在指定時間內完成,可能與目前網路、名稱解析或遠端回應有關。先切換到穩定網路重測,再確認服務商提供的位址與連接埠,並判斷錯誤發生在建立連線還是傳輸階段。
錯誤:connection refused
原因與處理方式:連線嘗試遭到拒絕,常見檢查方向是目標連接埠沒有對應服務,或存取遭到明確拒絕。逐一確認位址、連接埠與服務狀態,向自己的服務商確認後再測試;反覆切換 On Demand 無法修復遠端監聽問題。
- 切換網路後才出現:先比較同一連線在穩定 Wi-Fi 與行動網路下的情況,記錄切換時間,不要將訊號差異歸因於 App 設定差異。
- 鎖定螢幕後有週期性活動:先確認其他 App 的同步工作,再查看連線記錄是否反覆失敗。僅有週期性的背景活動,還不足以證明發生故障。
- 更新訂閱後才出現:確認實際選取的連線是否變更,以及既有訂閱更新是否修改參數。不要同時把訂閱更新、切換設定與 On Demand 開關當成測試變因。
- 需要他人協助:提供錯誤原文、發生時間、網路類型與開關狀態;分享記錄前,請遮蔽訂閱連結、憑證及其他敏感資訊。
依使用情境決定是否開啟
取捨的重點在於是否需要自動恢復連線,以及使用者能否在需要時記得手動連線。On Demand 沒有適用所有人的省電答案。關閉後直接改變的是自動觸發行為,不保證電池用量曲線會改善;開啟後的好處是在符合條件時減少手動操作,不代表所有網路切換都不需要排查。
- 經常在 Wi-Fi 與行動網路之間移動:若需要自動恢復連線,可以保留 On Demand,並確認既有條件符合使用需求。若發生多次失敗重試,應優先排查網路與遠端連線狀況。
- 只在固定時段處理少量工作:可以考慮關閉 On Demand,使用前在 Home 手動連線,完成後主動中斷。也要留意,若忘記連線,流量路徑可能與預期不同。
- 整晚鎖定螢幕仍明顯耗電:先根據電池記錄找出時段,檢查同步、備份與訊號環境,再進行相同條件的比較。不要只關閉一個開關就結束排查。
- 持續下載或觀看影片:保持其他條件一致,優先留意持續傳輸與訊號品質。只改變自動觸發方式,通常無法排除持續網路工作本身的耗電。
結論:需要自動恢復就保留,不需要就採用可驗證的手動流程
以「能否穩定完成所需工作」為前提選擇連線方式;只有反覆比較都顯示關閉後無效連線減少,且不影響正常使用時,才將關閉 On Demand 作為個人情境下的調整。
變更後,完成一次完整檢查
排查結束後,回到 Home 確認連線狀態,到 Global Routing 確認實際採用的方式,再檢查 Config 中啟用的設定。若需要自動連線,請還原 Settings → On Demand 中合適的設定;若選擇手動連線,應確認中斷後不會因其他既有 VPN 自動連線設定而再次建立連線。
- 開啟平時使用的目標服務,確認能否如預期存取,並檢查請求的路由方式;不要只看 VPN 狀態標示,就認定所有請求都已成功。
- 經過一段相近的使用時間後,再查看系統「設定 → 電池」,確認整部裝置的耗電情況是否持續改善,而不是只看 Shadowrocket 在清單中的排名。
- 保留最後的開關狀態、測試網路與錯誤記錄;若無法重現差異,請還原成適合日常使用的設定,避免持續變更多個參數。
本文不會為 Shadowsocks、VMess、VLESS、Trojan、Hysteria2 或 WireGuard 排定通用的耗電順序。協定參數、連線品質與工作負載各不相同,單憑協定名稱不足以預測裝置續航。更多操作說明請參閱入門指南,術語說明可對照術語表。
App Store 正版確認與連線設定
Shadowrocket 是 Apple 平台上的閉源商業 App,透過 App Store 一次性買斷。購買前請確認開發者為 Shadow Launch Technology Limited,App ID 為 932747118;系統需求請以 App Store 頁面標示為準。買斷用戶端不等於購買連線方案;本文以使用者已有自己的服務商與訂閱為前提,不提供、不販售也不推薦節點或訂閱。