Shadowrocket 背景耗電排查:On Demand 按需連線要開啟還是關閉?

先核對電池用量與連線記錄,再決定是否使用 On Demand。連線維持時間、網路切換與請求活動都可能影響讀數,單看一個百分比不足以判斷原因。

本文摘要

適合已在 iPhone 或 iPad 使用 Shadowrocket,並發現電池用量偏高或連線反覆建立的讀者。本文依序檢查系統讀數、Settings → On Demand、網路切換與對照測試,最後說明持續連線與按需連線的取捨方式。

先看懂電池用量,再判斷是否異常

在 iPhone 的系統「設定 → 電池」中,先選定相同的統計時段,再查看 Shadowrocket 的電池用量占比與背景活動。占比表示該時段已統計用電中的比例,不等於電池總容量的耗用比例。如果同一時段其他 App 的用量較少,Shadowrocket 的占比也可能因此升高。iPad 也應在系統電池頁面核對,實際頁面排列以裝置顯示為準。

記錄觀察時段、電量變化、螢幕開啟時間,以及 Shadowrocket 在 Home 是否維持連線。也記下當時使用 Wi-Fi 或行動網路,以及是否頻繁離開訊號涵蓋範圍。綜合這些條件,才能區分持續傳輸、背景維持連線與反覆建立連線;單張截圖無法證明耗電是由 On Demand 單獨造成。

2 處
先核對:系統「設定 → 電池」與 Shadowrocket 的 Home 連線狀態
4 項
記錄條件:時段、網路、連線狀態、螢幕使用情況

判斷方式:先固定觀察條件

比較開啟與關閉 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 模式及測試使用的網路。既有服務連線所需資料也應保持不變;測試期間若同時切換伺服器、更新訂閱或更換規則,將難以判斷結果原因。

  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 切換到行動網路、進入訊號較弱的區域,或裝置解鎖後才恢復連線。連線失敗後再次嘗試可能增加網路活動;維持連線也可能承載其他 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 控制連線。兩種方式沒有一概適用的省電結論,應以同一部裝置上可重複核對的記錄為準。

最後再次檢查 Settings → On Demand、Home 與系統電池頁面。若調整後讀數仍偏高,請繼續檢查背景網路活動與連線穩定性,不要反覆切換 Global Routing 來尋找單一的「省電模式」。Shadowrocket 是透過 App Store 取得的 Apple 平台 App;iPhone、iPad 的系統需求以 App Store 頁面標示為準。本文僅討論用戶端設定,連線所需資料以使用者自己已有的資訊為準。

核對 App 並繼續入門

先在正版核驗頁確認 App Store 產品資訊;若要重新熟悉 Home、Config 和 Settings 的操作,可接著閱讀快速入門教學。

前往正版核驗頁 查看教學
App Store 正版核對