手機代理 App 耗電怎麼辦?背景執行與省電設定
整理 Android 與 iOS 代理 App 耗電原因,涵蓋頻繁測速、規則更新及 DNS 設定,並提供電池最佳化與背景執行調整建議。
先釐清:代理耗電、流量歸因與背景中斷
手機啟用代理後,電池用量清單中用戶端的占比增加,不一定代表代理核心持續高負載。Android 的 VPN 服務與 iOS 的網路延伸功能會處理其他 App 傳來的連線;系統如何統計這些網路活動,會因系統版本與裝置實作而異。請先觀察整體耗電、實際流量與機身發熱,再判斷代理是否異常,別只看 App 排名。
另一個常見誤解,是把「背景服務遭暫停」當成「省電成功」。若鎖定螢幕後訊息延遲、解鎖後節點重新連線,電量看似比較耐用,實際上可能只是網路服務被終止。應減少不必要的喚醒與重試,同時確保必要連線維持正常。
依症狀決定第一步
- 鎖定螢幕後仍明顯發燙:先確認是否持續上傳或下載、節點反覆重新連線、執行測速,或產生大量錯誤記錄。
- 只有使用行動網路時耗電較高:先比較訊號強度與網路切換次數。訊號微弱時,無線通訊的耗電可能高於代理運算本身。
- 鎖定螢幕一段時間後斷線:優先檢查 Android 電池限制,或 iOS VPN 延伸功能的中斷記錄,先別改 DNS。
- 電池用量占比高,但整機待機正常:維持現有設定,繼續在相同條件下觀察實際耗電量。
進行 60 分鐘對照測試,別只看電池占比調整設定
先記下手機型號、系統版本、用戶端版本、核心版本、網路類型與目前使用的節點。版本號請從用戶端的「關於」頁面確認,別只記「最新版」。測試期間固定 Wi-Fi、節點、螢幕狀態與背景 App,暫停系統更新、照片備份及大型下載;每輪只調整一項設定。
- 完成訂閱與規則更新後,等待 5 分鐘,讓初次載入與連線程序結束。
- 鎖定螢幕靜置 60 分鐘,記錄起始與結束電量、代理流量、中斷次數及機身溫度感受。
- 每次只調整一個變因,例如將自動測速間隔從 60 秒改為 600 秒,再以相同條件測試一輪。
- 至少重複測試兩輪;若每小時耗電差異只有 1 個百分點,請延長至 3 小時,避免電量顯示以整數呈現造成誤判。
例如,起始電量 80%、結束 77%,代表這一小時整機電量下降 3 個百分點,不等於「代理耗電 3%」。下方記錄表僅為填寫範例,並非任何機型的實測結果。
| 測試條件 | 觀察時間 | 記錄項目 |
|---|---|---|
| 關閉代理,固定使用 Wi-Fi | 60 分鐘 | 整機耗電、背景流量 |
| 啟用代理,維持原有設定 | 60 分鐘 | 整機耗電、測速次數、中斷次數 |
| 啟用代理,減少自動測速 | 60 分鐘 | 相同指標及訊息送達情況 |
關閉代理會改變 App 的連線能力,可能讓部分背景請求停止,也可能導致反覆重試,因此第一輪只能作為基準參考,無法嚴格隔離代理本身的耗電。請勿在公開記錄中保留訂閱網址、節點密碼或完整瀏覽記錄。
減少自動測速與重複更新規則
先找出哪些功能會主動建立連線
策略群組自動選擇、節點提供者健康檢查及首頁延遲更新,都可能觸發探測。單次健康檢查通常只傳輸少量資料,但數百個節點以很短的間隔反覆探測,會產生大量連線,也讓行動網路無線模組更頻繁地維持運作。即使在用戶端介面關閉定時測速,也不代表設定中的健康檢查已一併停用。
- 測速間隔:可先設為 600 秒並觀察;網路穩定時再試 1800 秒。間隔拉長後,發現故障的速度也可能變慢。
- 節點數量:縮小自動測試範圍,只保留實際使用的地區或策略群組,不必讓訂閱中的所有節點都參與每輪探測。
- 手動測速:排除故障時再使用,避免連續執行全節點測速,讓測試本身成為額外負載。
在 mihomo 的節點提供者設定中,health-check.interval 的單位是秒;health-check.lazy 可避免節點提供者未被使用時仍按一般週期檢查,但不代表所有探測都會停用。策略群組中的 url-test 有獨立的 interval,也需要一併檢查;部分行動用戶端的介面可能不會顯示這些欄位。
分清訂閱更新、規則下載與健康檢查
訂閱更新用來取得節點設定,規則提供者更新負責下載分流規則,健康檢查則用來測試節點是否可用;這是三種不同功能。節點與規則每天更新一次,也就是 86400 秒,可作為一般使用的起點;若服務提供者明確要求更短的更新週期,再依實際需求調整。
別為了「保持規則最新」而設定每 60 秒更新,也不建議完全停用更新。請確認用戶端的定時更新與設定提供者的定時更新是否同時啟用;若訂閱變動頻繁,且每次更新都會重新載入核心,更應查看記錄,確認是否因此週期性重新連線。調整設定後請使用覆寫儲存,訂閱更新後再確認最終生效的設定。
DNS 與連線重試:先修正錯誤,再談快取
DNS 查詢本身通常不是持續耗電的唯一原因。更需要檢查的是解析失敗後反覆查詢、上游 DNS 無法連線、代理伺服器網域名稱解析失敗,以及 DNS 請求被錯誤送回代理入口而形成迴圈。常見現象是同一網域在短時間內反覆出現,並伴隨逾時、連線失敗或節點不斷切換。
- 開啟記錄,暫時使用
info層級觀察 2 至 5 分鐘。找出問題後就停止持續監看,避免長時間開啟詳細記錄。 - 分別透過 Wi-Fi 與行動網路測試同一個網站。若只有某種網路無法連線,先檢查該網路是否能連上上游 DNS。
- 確認 DNS 上游使用直連或代理,以及節點網域名稱的引導解析路徑。mihomo 的
proxy-server-nameserver用於解析代理節點的網域名稱,並非所有一般網域共用的 DNS 伺服器。 - 先修正迴圈或逾時問題,再比較耗電;不要同時更換上游、切換解析模式並調整路由。
DoH、DoT 可提供加密解析,但不代表一定比其他方式省電。連線重用、上游延遲與失敗重試都會影響結果。也別把「上游越多越穩」當成設定原則;在會並行查詢的實作中,增加上游可能讓請求數量變多。
Android 背景執行:只為必要服務解除限制
Android 代理通常透過 VpnService 建立本機 VPN 介面。持續運作時通常會顯示前景服務通知,但這不代表正在大量傳輸資料。系統的 Doze、省電待機限制與廠商背景管理仍可能影響連線,實際情況取決於 Android 版本、用戶端實作及廠商策略。
Android 14、15 設定參考
以接近原生 Android 的系統為例,依序前往「設定」→「應用程式」→「查看所有應用程式」→代理用戶端→「應用程式電池用量」,檢查「允許背景使用」以及「不受限制/最佳化/受限制」等選項。選單名稱與層級可能因系統版本而異;也可以長按 App 圖示,選擇「應用程式資訊」,再於頁面中搜尋「電池」。
- 連線穩定:先維持「最佳化」,不必為了背景執行預先開放所有權限。
- 鎖定螢幕後可重現斷線:只將代理用戶端改為「不受限制」,再重複鎖屏測試,確認問題是否確實改善。
- 重新開機後不會自動啟動:檢查用戶端的自動啟動選項,以及廠商系統中的自動啟動或背景活動權限。
- 啟用省電模式後出現異常:分別在開啟與關閉省電模式時測試並記錄差異,不要一次關閉所有系統省電功能。
將 App 加入電池最佳化排除清單,只能減少部分背景限制,無法降低核心處理流量所需的運算量。也別把所有 App 都加入排除清單,否則其他背景工作可能增加,反而提高整機待機耗電。鎖定最近使用的 App 卡片是部分廠商提供的輔助功能,不能取代服務狀態檢查。
「一律開啟 VPN」與「封鎖未使用 VPN 的連線」注意事項
部分裝置可在「設定」→「網路和網際網路」→「VPN」→選擇對應 VPN 的設定中啟用「一律開啟 VPN」。只有用戶端支援時才能使用;「封鎖未使用 VPN 的連線」屬於網路封鎖功能,VPN 服務故障時可能導致整台裝置無法連網,並非省電選項。啟用前請先確認 VPN 中斷後的恢復方式。
若具備除錯環境,可透過 Android SDK 平台工具查看狀態。以下指令只會讀取資訊,不會變更電池策略:
adb shell dumpsys deviceidle
adb shell dumpsys battery
前一條用來檢查裝置閒置狀態的相關資訊,後一條則提供電池狀態快照;兩條指令都無法直接顯示特定代理核心的精確耗電量。連接 USB 可能改變充電與閒置條件,請勿將插著傳輸線的除錯結果直接當成一般待機結果。
iOS 背景策略:檢查 VPN 延伸功能與隨需連線
iOS 代理用戶端通常由主 App 管理設定,再透過 Network Extension 中的 VPN 延伸功能處理網路流量。主 App 不在前景,不代表 VPN 延伸功能已停止;一直讓主 App 顯示在螢幕上,也不是維持背景執行的必要方法。延伸功能閃退、重新載入設定或受到系統資源限制,都可能造成服務中斷,請搭配用戶端記錄判斷。
先查看系統電池用量記錄
以 iOS 18 為例,前往「設定」→「電池」,比較「過去 24 小時」與「過去 10 天」的用量,點選異常時段,並參考螢幕使用時間與背景活動。如果異常時間正好發生熱點分享、訊號微弱時移動,或大量傳輸影片,請先控制這些變因,再調整代理設定。
- 背景 App 重新整理:這不等於允許 VPN 延伸功能持續執行。開啟這項總開關,也無法保證延伸功能永不停止。
- 低耗電模式:會調整多種系統背景行為,但不能直接推論它一定會終止 VPN;請在自己的裝置上確認連線是否受到影響。
- 隨需連線:檢查用戶端的隨需規則,確認是否因切換不同 Wi-Fi 與行動網路而反覆連線或中斷。
- 其他 VPN 設定:可前往「設定」→「一般」→「VPN 與裝置管理」查看。受管理裝置應遵循組織政策,請勿任意移除管理設定。
iOS 沒有與 Android「應用程式電池用量:不受限制」完全相同的通用排除清單。若特定用戶端的延伸功能在大型規則集下頻繁重新啟動,可先移除非必要的規則提供者、關閉詳細記錄並更新至維護版本,再觀察重新啟動記錄;不能只憑記憶體用量就判定耗電原因。
TUN、分流與最後檢查步驟
手機上的本機 VPN 接管功能,與桌面用戶端的 TUN 開關,並不是可以直接對應的兩個按鈕。Android、iOS 用戶端通常已透過虛擬網路介面收發資料;別為了照搬桌面教學,再疊加另一個 VPN 服務。一般個人使用情境下,系統通常也不允許兩個獨立 VPN 任意同時接管同一位使用者的流量。
規則模式可決定哪些連線直連、哪些透過代理,但直連流量仍可能經過用戶端的 VPN 資料路徑,因此「符合 DIRECT」不代表完全沒有處理成本。部分 Android 用戶端支援讓特定 App 繞過 VPN,這與規則中的直連不同;使用前請確認該 App 確實不需要代理,且符合自身的網路存取需求。
依照以下順序完成檢查
- 恢復正常流量:先排除同步、下載、訊號微弱與網路頻繁切換等因素。
- 減少定期工作:先將測速間隔設為 600 秒;規則與訂閱更新則依需求設定,例如每天更新一次。
- 修正反覆連線失敗:檢查 DNS、節點連線狀態與錯誤記錄,別用自動切換掩蓋持續逾時。
- 只處理實際遇到的背景限制:Android 視需要解除電池限制;iOS 則檢查延伸功能記錄與隨需連線條件。
- 重新測試連線:至少鎖定螢幕 30 分鐘,確認訊息、網頁瀏覽與 Wi-Fi/行動網路切換皆正常,再進行較長時間的耗電對照。
有效的省電調整必須同時符合兩個條件:在相同使用情境下,整機耗電減少,必要的網路連線也維持正常。如果耗電改善只是因為服務停止或 App 請求失敗,應先恢復連線。記下修改前後的設定,比一次套用「省電設定」更容易找出真正有影響的變因。若要調整規則與覆寫欄位,可參閱設定參考;若遇到連線異常,請先依照故障排除逐項檢查。