適合已在 iPhone 或 iPad 使用 Shadowrocket,並發現電池用量偏高或連線反覆建立的讀者。本文依序檢查系統讀數、Settings → On Demand、網路切換與對照測試,最後說明持續連線與按需連線的取捨方式。
先看懂電池用量,再判斷是否異常
在 iPhone 的系統「設定 → 電池」中,先選定相同的統計時段,再查看 Shadowrocket 的電池用量占比與背景活動。占比表示該時段已統計用電中的比例,不等於電池總容量的耗用比例。如果同一時段其他 App 的用量較少,Shadowrocket 的占比也可能因此升高。iPad 也應在系統電池頁面核對,實際頁面排列以裝置顯示為準。
記錄觀察時段、電量變化、螢幕開啟時間,以及 Shadowrocket 在 Home 是否維持連線。也記下當時使用 Wi-Fi 或行動網路,以及是否頻繁離開訊號涵蓋範圍。綜合這些條件,才能區分持續傳輸、背景維持連線與反覆建立連線;單張截圖無法證明耗電是由 On Demand 單獨造成。
判斷方式:先固定觀察條件
比較開啟與關閉 On Demand 前後的用量時,請選擇相近的時長與使用方式;若一段時間傳輸大量資料,另一段時間幾乎沒有請求,兩組百分比便不能直接用來判斷設定效果。
系統電池頁面顯示的是歸屬於 App 的用量,不會逐項列出每條連線或規則的耗電。如果背景活動偏多,下一步應檢查哪些條件讓連線持續存在,而不是立即刪除既有設定。排查期間請保留目前設定與自己的連線資料,以便變更後還原。
On Demand 的功能與限制
Shadowrocket 的 On Demand 位於 Settings → On Demand,可設定連線的按需觸發條件;可選條件以 App 目前實際顯示為準。啟用後不代表裝置閒置時一定會中斷連線,關閉後也不代表已建立的連線會自動停止。測試前應同時查看 Home 的連線狀態,以及系統顯示的 VPN 狀態。
維持連線與頻繁重新連線是兩種不同情況。前者可能讓連線在背景維持,期間仍可能有 App 發出網路請求;後者則是在網路條件變化或連線中斷後,反覆建立通道。若裝置在兩個 Wi-Fi 網路間切換,或行動網路訊號時斷時續,請先確認重新連線是否與這些時間點相符。On Demand 條件設得越廣,通常越容易觸發連線,但實際用量仍取決於請求活動與網路狀態。
Global Routing 屬於路由設定,不能當成 On Demand 的替代開關。Proxy、Direct、Config 和 Scene 是不同的路由模式;其中 Config 會依所選設定中的規則處理流量。即使改為 Direct,也不能只憑這個字就推斷 VPN 通道已關閉。排查電池問題時,請分別記錄路由模式與連線狀態,避免混淆「請求如何路由」與「何時建立連線」。
依固定順序進行開關對照測試
一次只變更一個變數。開始前記下 Settings → On Demand 原有的開關狀態與條件、Home 目前狀態、Global Routing 模式及測試使用的網路。既有服務連線所需資料也應保持不變;測試期間若同時切換伺服器、更新訂閱或更換規則,將難以判斷結果原因。
記錄基準值
開啟系統「設定 → 電池」,選定統計時段,記下 Shadowrocket 用量與背景活動;再前往 Home 記錄連線狀態與目前網路。
核對條件
前往 Shadowrocket 的 Settings → On Demand,查看開關與已設定的觸發條件。先記錄原本的設定值,不要同時變更 Global Routing 或 Config。
觀察關閉狀態
關閉 On Demand 後,依平常方式透過 Home 控制連線。觀察一段完整的日常使用時段,記錄 Wi-Fi 與行動網路切換及連線中斷的次數。
觀察開啟狀態
在相近的使用時段重新啟用 On Demand,並只開啟實際需要的條件。維持相同設定檔與相近的網路使用方式,記下是否發生反覆連線。
比較並還原
對照系統電池頁面、背景活動與連線狀況,再決定保留哪一組設定。若觀察條件差異太大,請先還原原設定,另選時間重新比較。
測試時可以固定日常操作作為參照,例如在同一個網路開啟相同網頁,再讓裝置鎖定螢幕一段相近的時間。不要為了產生讀數而連續重新整理,或下載大量內容,否則測試就會變成流量負載測試。系統電池統計也不一定會在操作後立即反映變化;查看時請確認選取的仍是相同類型的統計時段。
如果關閉 On Demand 後電池用量占比下降,但連線時間、背景請求或網路環境也有變化,只能說兩次記錄有所差異,不能單獨判定按需連線是原因。更值得參考的是:在相同地點與使用習慣下,網路切換次數、重新連線次數和背景活動是否同步變化。
頻繁重新連線時,先檢查網路與提示訊息
發現 Home 狀態反覆變化時,先查看發生時間:是否剛從 Wi-Fi 切換到行動網路、進入訊號較弱的區域,或裝置解鎖後才恢復連線。連線失敗後再次嘗試可能增加網路活動;維持連線也可能承載其他 App 的請求。這兩種情況都可能在電池頁面顯示 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 控制連線。兩種方式沒有一概適用的省電結論,應以同一部裝置上可重複核對的記錄為準。
- 固定網路、持續使用:先檢查是否有持續的網路請求;維持連線期間的用量不等於 On Demand 本身的用量。
- 頻繁切換網路:優先記錄 Wi-Fi、行動網路與 VPN 狀態的變化順序,再考慮縮小 On Demand 條件範圍。
- 偶爾使用:可測試關閉 On Demand 後手動連線的流程,並確認不使用時 Home 顯示的連線狀態。
- 需要自動連線:保留 On Demand 時,請定期核對觸發條件,避免測試結束後仍保留不符合實際需求的設定。
最後再次檢查 Settings → On Demand、Home 與系統電池頁面。若調整後讀數仍偏高,請繼續檢查背景網路活動與連線穩定性,不要反覆切換 Global Routing 來尋找單一的「省電模式」。Shadowrocket 是透過 App Store 取得的 Apple 平台 App;iPhone、iPad 的系統需求以 App Store 頁面標示為準。本文僅討論用戶端設定,連線所需資料以使用者自己已有的資訊為準。